【发布时间】:2018-01-24 19:17:55
【问题描述】:
我在 packagist.org 上有一个 PHP 库,它使用一些常量,从一个项目到另一个项目。
我正在尝试使用这样的常量:
作曲家库中conf.php中的常量存储
在 composer init username/mylib 命令之后,我从 /vendor/username/mylib/conf.php 复制到本地 /conf .php 并将其用于当前项目配置
对于 project1,在 /conf.php
中define("HOST", "host1.com");
project2,在 /conf.php
中define("HOST", "host2.com");
但它看起来像一个错误的方式。
在作曲家库中使用常量的正确方法是什么?
【问题讨论】:
-
请注意,正确的方式可以归类为主观的。
-
一种方法是使用配置数组创建您的类的实例(有点像 Guzzle 和更多这样做)。 IMO 您永远不应该在作曲家插件中进行任何更改。这使得更新它们绝对是地狱。
-
@h2ooooooo,好点子,但我仍然必须将配置存储在某个地方,并提供配置指令
-
@h2ooooooo 这正是我的做法,请参阅下面的答案。
-
@DarkMukke 我的做法是
$instance = new MyClass(['requireLogin' => true, 'baseUrl' => 'http://www.foo.bar/']);等等。
标签: php composer-php packagist