Composer在管理依赖方面非常棒,让生活变得更加轻松。
但是,我有点不确定应该将数据文件放在哪里以供我的作曲家要求使用。
例如,Maxmind GeoIP库就是我正在使用的。因为 maxmind 数据库是独立于 PHP 库提供的,并且具有不同的周期,所以确实没有办法使其成为作曲家的要求。
我应该将它们作为包添加到我的 composer.json 中吗?由于我有一个用于提供私有存储库的 Satis 安装,我应该为这些数据文件创建自己的存储库吗?
使用作曲家时处理供应商数据库和数据文件的公认做法是什么?
如果你想通过作曲家管理数据,我建议将它们配置为一个单独的包,这是你在项目级别所需要的。
非 php 部分没有默认工作流。特别是数据库很少通过作曲家进行管理,因为没有进行迁移的标准。
在我看来,迁移脚本不应该是 composer 的一部分,因为只有您的应用程序应该更改您的数据库,并且仅在您希望它时才更改,而不是在您执行 composer 命令时。
GeoIP数据有点不同,这只是您使用的一种资源文件。如果我看一下关于java脚本和类似内容的尝试,通常会为它们提供一个单独的作曲家包。所以就像我首先说的,将数据添加到一个自己的包中,你可以独立于GeoIp库进行维护