使用(独立)模块化项目安装多个 Composer

2024-04-09

我正在尝试找到使用 Composer 实现模块化结构的最佳方法。

假设我有这个框架树:

/cms
/site/addons

假设开发人员可以使用插件来添加他们的项目composer.json安装。 喜欢/site/addons/MyNewFeature/composer.json

所以下一个问题是/vendor地点。每个插件是否应该有一个/vendor目录,我是否应该在主框架内自动加载它们,我认为这样的性能会太大,并且多个作曲家安装可能会安装很多相同的依赖项。我不能让它们全部安装在同一个中/vendor目录如/site/addons/vendor因为 Composer 会自动删除当前安装中未包含的所有项目并使用其自己的锁定文件。

如何为基于模块化项目的系统进行多个作曲家安装?虽然每个项目都需要自己的作曲家供应商,但为了性能,最好只包含 1 个供应商安装。我还没有找到解决方案,想知道你们中是否有人有想法或引导我走向正确的方向。

这几乎就像你需要一个主要的composer.json安装会自动转到每个插件并安装它们......

另一个解决方案是仅对所有插件(安装/更新)使用作曲家,这给了我较少的控制权,并对位于/vendor目录。


经过一些研究和测试,我发现了这个概念。

这允许框架按照设计的方式手动安装/更新插件,并在主框架内composer.json文件使用repositories通配符路径。

"repositories": [
        {
            "type": "path",
            "url": "../site/addons/*",
            "options": {
                "symlink": false
            }
        }
    ]

现在它将检查所有插件目录中的composer.json文件并将其所有依赖项安装到通用文件中/vendor像我原来想要的目录。

我不确定这样做以后可能会出现什么问题,但到目前为止,这提供了我想要的控制。

该框架只需要确保require主 json 中包含所有已启用的插件。

https://getcomposer.org/doc/05-repositories.md#path https://getcomposer.org/doc/05-repositories.md#path

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用(独立)模块化项目安装多个 Composer 的相关文章

  • 防止隐藏的输入被更改

    这一直让我压力很大 我有一个隐藏的输入
  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • 如何在 Laravel 中基于 application/json 标头加载路由

    我正在使用application json标头来控制我的控制器在收到请求时的行为 我需要在单元测试中的 POST 中包含application json header 我试过了 public function testStore this
  • 从 Yii2 中的联结表检索数据

    我试图从 Yii2 中的连接表获取数据无需额外查询 我有 2 个模型 用户 组 通过连接表 user group 关联 在 user group 表中 我想存储此关系的额外数据 管理标志 将数据添加到连接表的最佳方法是什么 link 方法接
  • PHP实现的机票预订系统

    如何防止预订系统中的座位被重复预订 我正在用 PHP 和 MYSQL 制作一个航空旅行预订系统模型作为一个项目 我有一个小问题 仅在付款后 门票和座位详细信息才会永久存储在此处 座位号在付款前分配 假设人 1 预订了飞机上的座位 x 并支付
  • Ioncube 编码的文件是否可以解码?

    我是一名 php 开发人员 我的客户计划分发一个使用 Php 开发的软件 计划使用 ioncube 或类似软件对文件进行编码 在谷歌搜索时 我发现很少有人解码这些文件 这些文件使用 ioncube 甚至其他软件进行编码 如果您询问是否可以破
  • 将数组数据从 html 表单传递到 php 数组变量

    我有一张表格来记录一组项目的工作时间 该表单使用项目 ID 小时数和注释字段的数组 表单行是项目数量的循环 该表单将数据传递给 PHP 脚本进行处理 PHP 脚本没有看到数组中的值 它只是给我 Array 作为输出 文档和其他示例让我想知道
  • 通过 PHP 检测 excel .xlsx 文件 mimetype

    我无法通过 PHP 检测 xlsx Excel 文件的 mimetype 因为它是 zip 存档 文件实用程序 file file xlsx file xlsx Zip archive data at least v2 0 to extra
  • 如何修复 Nginx 自动 301 重定向到带有尾部斜杠的相同 URL?

    当我尝试将 Web 应用程序的子目录中的索引文件访问到相同的 URL 但附加了斜杠 时 Nginx 出现了不良行为 它正在重新路由请求 我有一个简单的 Web 应用程序 其中设置了一个根目录和其中的许多子目录 每个子目录中都有一个 inde
  • Woocommerce 获取产品

    我使用以下代码从我的 WordPress 网站中的 WooCommerce 获取产品类别列表
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • PHP file_exists() 对我不起作用?

    由于某种原因 下面的 PHP 代码将无法工作 我无法弄清楚 很奇怪的是 file exists 似乎没有看到图像确实存在 我已经检查以确保将良好的文件路径插入到 file exists 函数中并且它仍在运行 如果我将 file exists
  • setImageCompressionQuality 与 setCompressionQuality 之间有什么区别 - Imagick

    我在Imagick中找到了两种设置图像压缩质量的方法 A 设置图像压缩质量 B 设置压缩质量 所以我想知道哪一个是最好的以及为什么在以下条件下 我读到了setCompressionQuality方法仅适用于新图像 我正在尝试压缩文件 jpe
  • 给定两个日期,在 PHP 中查找工作日数的最佳方法是什么?

    标题几乎是不言自明的 给定两个日期 使用 PHP 查找工作日数的最佳方法是什么 工作日为周一至周五 例如 我如何知道中间有 10 个工作日31 08 2008 and 13 09 2008 datefrom strtotime datefr
  • Mysql获取特定表的最后一个id

    我必须从特定的插入表中获取最后的插入 ID 可以说我有这个代码 INSERT INTO blahblah test1 test 2 VALUES test1 test2 INSERT INTO blahblah2 test1 test 2
  • 增加内存限制时出现奇怪的错误

    我使用的是共享托管环境 PHP 的默认内存限制是 32M 我在 Concrete5 设置方面遇到一些问题 当我尝试登录 Concrete5 的管理面板时 出现内存限制错误Allowed memory size of 33554432 byt
  • @apply 在 Laravel Mix 中的 Vue 组件内不起作用

    我在 Laravel 中使用 Tailwind CSS 和 VueJS 组件 如下所示
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 在 PHP 中设置 HTTP 响应代码(在 Apache 下)

    给出以下两种在 PHP 中设置 HTTP 响应代码的方法 具体来说 在 Apache 下 方法一 http response code 404 方法二 header HTTP 1 0 404 Not Found 我的问题是 除了这个事实之外
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我

随机推荐

  • 使用 GEKKO 的 MPC 中的变量范围

    我正在尝试使用 MPC 和 GEKKO 实现恒温器控制 状态变量 温度 应在预先指定的温度下限和上限范围内 temp low and temp upper在下面的代码中 两者的界限每天都会变化 每小时一个值 目标函数是使用供暖的成本 价格也
  • 使用 sqlalchemy 从相关表中仅选择一行

    假设我有一个作者表和一个帖子表 每个作者可以有多个帖子 现在 随着singlesqlalchemy 查询 我想获取所有活跃作者以及每个作者最近发布的帖子 我一直在尝试通过获取加入作者的帖子列表来解决此问题 使用子查询将结果分组在一起 如下所
  • 带有 Firebase 数据的 Angular 应用:为什么我看到上一页的数据?

    因此 我有一个托管在 Firebase 上的 Angular 9 应用程序 并使用 Firestore 存储数据 我有一个看起来很简单的问题 但我无法理解为什么会发生这种情况 我已经对应用程序进行了很多简化 以找到此问题的根本原因 并将尽力
  • 检查条件是否适用于列表中任何元素的 Pythonic 方法

    我有一个 Python 列表 我想检查是否有任何元素为负数 是否有一个简单的函数或语法可以用来对所有元素应用 是否为负 检查 并查看其中是否有任何元素为负 我浏览了文档 http docs python org library stdtyp
  • 在postgres中,可以查询当前的监听器吗?

    in the notify listen对于 postgres 一个人会听 listen channel 有没有办法查询会话正在侦听的当前频道 到目前为止已经幸运地完成了医生的检查 select from pg listening chan
  • 类型“AngularFireList<{}>”上不存在属性“map”

    我很难弄清楚这个问题 当我运行时出现以下错误离子服务 类型 AngularFireList 上不存在属性 map 我已经寻找修复程序有一段时间了 但找不到任何有效的方法 所以我在这里 当前版本是 Ionic Framework 3 9 2
  • PHP 读取 CSV 并按日期过滤

    我有以下 CSV Date Event Description 24 01 2010 Football Football practice for all Years 24 01 2010 Cricket Cricket Practice
  • 多个数组元素的组合

    最近我实现了下面的代码 假设我有 2 个数组 arr1 a b c arr2 d e 并且应该是 output ad ae bd be cd ce 现在假设我有多个数组 for eg arr1 a b c arr2 d e arr3 f g
  • 如何使用 php 列出目录以在文件夹中导航,而不使用 javascript? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找这个 PHP 函数 列出目
  • android.view.InflateException:使用自定义视图时的二进制 XML 文件行

    例外情况 gt 10 13 11 47 32 151 E AndroidRuntime 618 FATAL EXCEPTION main gt gt 10 13 11 47 32 151 E AndroidRuntime 618 andro
  • 如何从Oracle数据库获取自增PK? [复制]

    这个问题在这里已经有答案了 可能的重复 PLSQL JDBC 如何获取最后一行ID https stackoverflow com questions 3552260 plsql jdbc how to get last row id 我已
  • ASP.NET Core Identity - LoginPartial 在脚手架身份后损坏

    我从 VS 2017 模板 具有个人用户帐户的 Web 应用程序 创建了一个新项目 这会将 ASP NET Core Identity 添加为默认 UI 使用 nuget 中的 UI services AddDefaultIdentity
  • 如何在功能上处理来自外部系统的状态?

    我最近进入了函数式编程 并且学习了几种以引用透明的方式处理某些副作用的方法 国家单子 http apocalisp wordpress com 2011 03 20 towards an effect system in scala par
  • 如何将 XSL 嵌入到 XML 中

    我正在寻找一种将 XSL 嵌入 XML 的解决方案 这样只有 1 个 XML 文件发送到浏览器 我在这里尝试了 Dimitre Novatchev 提出的解决方案 将 xsl 嵌入到 XML 文件中 https stackoverflow
  • 创建显示上一张和下一张图像的一部分的图像滑块

    我正在尝试使用 jQuery 创建幻灯片 类似于jquery 滚动水平 http jquery malsup com cycle scrollhv html 但我希望部分显示上一张和下一张图像 现在 我拥有的是一个 div 隐藏了溢出 其中
  • 使用Python从sql server数据库检索数据

    我正在尝试执行以下脚本 但没有得到所需的结果 也没有得到错误消息 import pyodbc cnxn pyodbc connect Driver SQL Server Native Client 11 0 Server mySRVERNA
  • 从 Ajax 调用 Django View

    我正在使用 Ajax 以及 Django 在按钮单击时执行一些操作 我成功调用了 javascript 函数 但无法调用 Django 视图 没有错误 但我认为打印语句没有打印 urls py urlpatterns patterns po
  • 访问结构体中的位域

    我对位字段概念很陌生 我正在尝试访问结构中的元素 但它显示错误aa v像这样 error incompatible types when assigning to type cc from type long unsigned int 如果
  • 启动设置活动以获得结果

    在我的应用程序中 我正在检查用户设备上是否启用了 GPS 如果没有 我想将他发送到 设置 以让他将其打开 Intent intent new Intent Settings ACTION LOCATION SOURCE SETTINGS s
  • 使用(独立)模块化项目安装多个 Composer

    我正在尝试找到使用 Composer 实现模块化结构的最佳方法 假设我有这个框架树 cms site addons 假设开发人员可以使用插件来添加他们的项目composer json安装 喜欢 site addons MyNewFeatur