[哈菜系列一] 私有包怎么部署到 Laravel
缘由
为什么叫哈菜...因为本人英文名叫哈里,属于菜鸟,于是就有了哈菜。
为什么会想写哈菜...一个没啥PHP
基础且属于Laravel
新兵,但是在PHPHub
的slack
中得到诸位高手帮助解决了一个又一个问题,觉得或许之后会能给到自己备忘,也可以提醒遇到相同问题的同学,于是就厚脸皮写下来了..
如果您觉得此问题太菜,请随意路过或拍砖^^
目的
想调用scrapy
的scrapyd
蜘蛛守护进程,于是找到了etng
在GitHub
上的php
调用接口代码 。(鄙人属于懒人加菜鸟只能到处借鉴了)。
问题来了,如何把一个packgist
上没有的东东部署到Laravel
项目里?
思路
首先,必须知道composer
的大致介绍。中文版在这里
其次,关于composer
编译后的map
存在vendor/composer
目录下,看到这个相信大家就豁然开朗了,每个composer.json
中的配置,都会在这边具体映射。
最后,只需要解决怎么把包的映射关系加进去就好啦。
解法
三步搞定:
- 将该包放到
Laravel
项目任意目录下,这里用vendor/etng/scrapyd/src
- 修改根目录下的
composer.json
,找到autoload相关代码块:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
在psr-4
新增一段配置:"EtngScrapyd":"vendor/etng/scrapyd/src"
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"EtngScrapyd":"vendor/etng/scrapyd/src"
}
},
- 在根目录运行
composer update
更新composer map
关系即可。
参考文献
本帖已被设为精华帖!
多谢分享.
谢谢各位大神指教~ 等项目完成,我来修正下这个^^