使用自定义存储库和包通过 Composer 设置项目

我正在尝试设置一个 Composer 项目,该项目将使我能够设置自己的框架并提取存储在 github 私有存储库中的任何给定依赖项。

首先是一些先决条件:

  1. 我不想向 packagist 添加代码。

  2. 我想确保我的供应商文件夹尽可能干净。


框架composer.json


{

    "name": "mycompany/myframework",

    "description": "YET another Framework",

    "type": "project",        

    "repositories": [

        {

          "type": "package",

          "package": {

             "name": "mycompany/system",

             "version": "0.0.2",

             "type": "library",

             "source": {

                "url": "https://github.com/mycompany/system.git",

                "type": "git",

                "reference": "master"

             }            

          }

       }

   ],

   "require": {                

       "mycompany/system": "0.0.2",

       "mnsami/composer-custom-directory-installer": "1.1.*"        

   },    

   "license": "proprietary",

   "authors": [...],      

   "extra":{

       "installer-paths":{}

   }

}

mycompany/系统composer.json


{

    "name": "mycompany/system",

    "type": "library",

    "description": "utility belt xD"

}

PHP 中该类的代码(来自 mycompany/sytem )具有以下结构:


namespace MYCOMPANY;

//this file name is called utils.php

//adherence to PSR-4 is assumed

class utils  {


}

我的目标是:


我想告诉作曲家它应该创建以下结构:


供应商\ MYCOMPANY \ utils.php(不是供应商\ mycompany \ system \ utils.php)


稍后,我希望能够添加更多这样的存储库并将它们也存储在 MYCOMPANY 下。框架将围绕此设置进行工作。


自定义安装由mnsami/composer-custom-directory-installer处理


我想根据经验,我应该将不同的包保留在它们自己的目录中,但是,因为其他文件将具有不同的命名约定,所以不存在覆盖的风险。


编辑 这可以做到吗?如果是这样,怎么办?


萧十郎
浏览 82回答 1
1回答

扬帆大鱼

我试图创建一个干净的文件夹,将来自不同存储库的所有不同类放在其中,但作曲家只是不这样做。我希望这能帮助其他想要同样东西的人。
打开App,查看更多内容
随时随地看视频慕课网APP