[哈菜系列一] 私有包怎么部署到 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
关系即可。
参考文献#
本帖已被设为精华帖!
推荐文章: