php - 使用自定义存储库和包使用 Composer 设置项目

标签 php namespaces composer-php

我正在尝试设置一个 Composer 项目,该项目将使我能够设置自己的框架并提取存储在 github 私有(private)存储库中的任何给定依赖项。
首先是一些先决条件:

  • 我不想向 packagist 添加代码。
  • 我想确保我的供应商文件夹尽可能干净。

  • 框架 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":{}
       }
    }
    

    我的公司/系统 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  {
    
    }
    
    我的目标是:
    我想告诉 Composer 它应该创建以下结构:
    vendor\MYCOMPANY\utils.php (不是 vendor\mycompany\system\utils.php )
    稍后,我希望能够添加更多这样的存储库并将它们存储在 MYCOMPANY 下。该框架将解决此设置。
    自定义安装由 mnsami/composer-custom-directory-installer 处理
    我猜我应该根据经验将不同的包保留在它们自己的目录中,但是,因为没有覆盖的风险,因为其他文件将具有不同的命名约定。
    编辑
    这能做到吗?
    如果是这样,如何?
    先感谢您

    最佳答案

    经过几个小时的工作并关注@NicoHaase 在评论中的回复,我放弃了这个问题。
    我试图创建一个干净的文件夹,我可以在其中放置来自不同存储库的所有不同类,但是 composer 不能那样工作。
    我希望这会帮助其他想要同样事情的人。

    关于php - 使用自定义存储库和包使用 Composer 设置项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63004671/

    相关文章:

    git - Composer : Multiple Packages in one Repo

    php - Kohana ORM(自定义查询)与 MySQL ORDER BY 和 GROUP BY

    php - 将 PHP DateTime 对象转换为 MYSQL 日期的字符串表示形式

    c++ - 使用命名空间来定义函数成员

    xml - DataSet.WriteToXml 中缺少根命名空间

    java - 从 XML 流读取命名空间的最佳方法(使用 Java)

    php - 在 1 个数据库列中更新多个结果

    php - 我的 wp_postmeta 表中有值,例如 :1:{i:0;s:1 :"5";}. ....我需要获取最后一个值。这是 ""中的值。在 WordPress 中

    PHPDoc 与 Laravel

    php - 交响乐 : Error : Attempted to call function "ctype_digit"