我在packagist.org上有一个PHP库,它使用一些常量,随着项目的不同而变化。
我尝试使用这样的常量:
>
常量存储在composer libriary的conf.php中
在作曲家init用户名/mylib命令之后,我从 /vendor/username/mylib/conf.php复制到本地/conf.php并将其用于当前项目配置
对于project1,在/conf.php中
define("HOST", "host1.com");
project2,在/conf.php中
define("HOST", "host2.com");
但这看起来是个错误的方法。
在作曲家库中使用常量的正确方法是什么?
我更喜欢用稍微不同的方式
在我的libabry中,我将拥有/vendorname/pkg/config/system.php
/vendorname/pkg/config/local.sample.php
并提供复印指示
/供应商/供应商名/pkg/config/local.sample.php
to/config/local.php
那么在我的代码中,我会有这样的东西
$sysconffile = static::$vendorbasedir . '/config/system.php';
if (file_exists($sysconffile)) {
$sysconf = require $sysconffile;
} else {
throw new \RuntimeException('Sys Conf Missing!');
}
$localconf = [];
$localconfile = static::$appbasedir . '/config/local.php';
if (file_exists($localconfile)) {
$localconf = require $localconfile;
}
更新:
我也更喜欢使用数据而不是定义的静态类,因为定义在文档、类型暗示和可写性方面非常松散。。
所以一旦我有了这两个配置,我通常会这样做
static::$config = array_replace_recursive($sysconf, $localconf);
问题内容: 我正在尝试使用composer从不包含在packagist中的 github中自动克隆一个git存储库,但是它无法正常工作,我无法弄清楚我在做什么错。 我认为我必须将其包括在“存储库”中,如下所示: 然后可能在“要求”部分列出它。它应该类似于此示例,但不起作用。它只给出此错误: 您的要求无法解决为一组可安装的软件包。 有没有人已经尝试做过这样的事情? 问题答案: 在2013年撰写本文时
我用作曲家建立了交响乐。 我在composer.json文件中添加了一些依赖项,如下所示: 当我运行composer.phar更新时,我收到以下消息: 用包信息加载作曲家存储库更新依赖项(包括要求开发)您的需求无法解析为一组可安装的包。 问题1-索纳塔项目/intl捆绑包开发主机的安装请求- 因此,我不知道还有什么更好的方法,我想我可能需要运行composr.phar安装,这给了我以下信息: 加载
我正在使用Symfony 2.3.4 在我的控制台上,我创建了sylius/sylius项目,在安装sensio/distribution捆绑包之前,我更喜欢dist 作曲家抛出此错误消息 我试过: > 编辑sylius/composer.json,并将seno/分布-包:2.3.修改为seno/分布-包:2.2.-dev 在C:\wamp\www\sylius中打开一个shell。将app/co
我把我的laravel项目上传到一个需要PHP7及以上版本的子域上。我已经更新了子域以使用PHP7。但是,当运行
我正在尝试安装一些symfony捆绑包来创建本教程中的管理工具:http://www.ens.ro/2012/07/13/symfony2-jobeet-day-12-the-admin-bundle/ 我正在使用symfony 2.3。*我使用composer作为我的依赖项,如下所述:无法使用composer设置奏鸣曲 但是,当我尝试按照上面的composer文件(php composer.ph
其实我是新的PHP。我在一个几乎是空的文件夹中运行这个(实际上是按照劳拉-cast教程:用TDD设计一个流畅的应用编程接口)。 我的目录结构看起来像 src 表情。php 表达测试。php 内部作曲家。json: 内部表达测试。php: 内心的表达。php 然后我运行composer dump autoload并运行phpunit,但仍然得到: 我的语法有问题吗?我对作曲家的理解是非常基本的。提前