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

缘由

为什么叫哈菜...因为本人英文名叫哈里,属于菜鸟,于是就有了哈菜。
为什么会想写哈菜...一个没啥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包建立过程
本帖已被设为精华帖!
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6
Summer

多谢分享.

3年前
hareluya

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

3年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!