我想知道在Codeigniter中定义应用程序常量的干净方法。我不想更改任何codeigniter的本机文件。因此我不想在application/config/constants.php
中定义它,因为当我需要迁移到新版本的code-igniter时,我将无法直接复制codeigniter的本机文件。
我创建了一个文件application/config/my_constants.php
并在那里定义了我的常量。'
我使用$this->load->config('my_constants');
加载了它
但我收到错误Your application/config/dv_constants.php file does not appear to contain a valid configuration array.
请给我一个在代码触发器中定义应用程序级常量的简洁方法。
7条答案
按热度按时间ttp71kqs1#
不使用
application/config/constants.php
是无稽之谈!这是唯一你**应该 * 放置常量的地方。如果你担心升级,不要更改system
中的文件。pprl5pva2#
只是一个完整的答案。(没有一个答案显示如何使用声明的常量)
过程很简单:
1.定义一个常量。打开
config/constants.php
并添加以下行:define('SITE_CREATOR', 'John Doe')
1.在另一个文件中使用此常量:
$myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'
cmssoen23#
您的my_constants.php文件应该如下所示,而不是使用
define()
:但是,在命名数组键时要小心,您不希望与任何内容发生冲突。
如果您需要使用
define()
,我建议在主index.php文件中使用,尽管您仍然需要使用APP_VERSION
来获取值。tquggr8v4#
nzk0hqpo5#
请参考:
http://ellislab.com/forums/viewthread/56981/
在常量中定义变量并在数组上添加值
qaxu7uf26#
您可以通过向自己的配置文件中添加常量(如
my_config.php
)来实现您的目标。您可以将此文件保存在
application/config
文件夹中,如下所示:application/config/my_config.php
.对于您编写的每个应用程序,都有一个单独的配置文件,这是非常常见的,因此这将易于维护,并为其他CI程序员所理解。
您可以指示CI自动加载此文件,也可以根据需要手动加载。请参阅CI手册中的“Config class”。
eit6fx6z7#
我建议您使用composer.json自动加载您自己的Constants.php文件,如下所示: