[哈菜系列一] 私有包怎么部署到 Laravel

缘由#

为什么叫哈菜... 因为本人英文名叫哈里,属于菜鸟,于是就有了哈菜。
为什么会想写哈菜... 一个没啥 PHP 基础且属于 Laravel 新兵,但是在 PHPHubslack 中得到诸位高手帮助解决了一个又一个问题,觉得或许之后会能给到自己备忘,也可以提醒遇到相同问题的同学,于是就厚脸皮写下来了..

如果您觉得此问题太菜,请随意路过或拍砖 ^^


目的#

想调用 scrapyscrapyd 蜘蛛守护进程,于是找到了 etngGitHub 上的 php 调用接口代码 。(鄙人属于懒人加菜鸟只能到处借鉴了)。
问题来了,如何把一个 packgist 上没有的东东部署到 Laravel 项目里?


思路#

首先,必须知道 composer 的大致介绍。中文版在这里
其次,关于 composer 编译后的 map 存在 vendor/composer 目录下,看到这个相信大家就豁然开朗了,每个 composer.json 中的配置,都会在这边具体映射。
最后,只需要解决怎么把包的映射关系加进去就好啦。


解法#

三步搞定:

  1. 将该包放到 Laravel 项目任意目录下,这里用 vendor/etng/scrapyd/src
  2. 修改根目录下的 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"

    }
},
  1. 在根目录运行 composer update 更新 composer map 关系即可。

参考文献#

  1. Composer 中文介绍
  2. 百度知道中的 composer 包建立过程
本帖已被设为精华帖!
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6
Summer

多谢分享.

10年前 评论
hareluya

谢谢各位大神指教~等项目完成,我来修正下这个 ^^

10年前 评论