我想知道在Codeigniter中定义应用程序常量的简洁方法。我不想更改codeigniter的任何本机文件。因此我不想在application/config/constants.php
中定义它,因为当我需要迁移到更新版本的代码点火器时,我将无法直接复制codeigniter的本机文件。
我创建了一个文件application/config/my_constants.php
并在那里定义了我的常量。 'define('APP_VERSION','1.0.0');'
我使用$this->load->config('my_constants');
但我收到错误
Your application/config/dv_constants.php file does not appear to contain a valid configuration array.
请建议我在代码点火器中定义应用程序级常量的简洁方法。
答案 0 :(得分:35)
不使用application/config/constants.php
是胡说八道!这是你应该放置常量的唯一的地方。如果您担心升级,请不要更改system
中的文件。
答案 1 :(得分:4)
只是一个完整的答案。 (没有答案显示如何使用声明的常量)
这个过程很简单:
定义常量。打开config/constants.php
并添加以下行:
define('SITE_CREATOR', 'John Doe')
使用以下方法在另一个文件中使用此常量:
$myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'
答案 2 :(得分:2)
而不是使用define()
,my_constants.php文件看起来应该是这样的:
$config['app_version'] = '1.0.0';
注意命名数组键,但不要与任何内容冲突。
如果您需要使用define()
,我建议您在主index.php文件中执行此操作,但仍需要使用APP_VERSION
来获取值。
答案 3 :(得分:0)
config file (system/application/config/config.php) to set configuration related variables.
Or use
constant file (system/application/config/constants.php) to store site preference constants.
=======================
DEFINE WHAT YOU WANT
=======================
$config['index_page'] = 'home';
$config['BASEPATH'] = 'PATH TO YOUR HOST';
答案 4 :(得分:0)
请参阅:
http://ellislab.com/forums/viewthread/56981/
将变量定义为常量和&在数组上添加值
$ORDER_STATUS = array('0'=>'In Progress','1'=>'On Hold','2'
=>'Awaiting Review','3'=>'Completed','4'
=>'Refund Requested','5'=>'Refunded');
答案 5 :(得分:0)
您可以通过向自己的配置文件添加常量来实现目标,例如my_config.php
。
您可以将此文件保存在application/config
文件夹中,如下所示:
application/config/my_config.php
。
为您编写的每个应用程序都有一个单独的配置文件是很常见的,因此这很容易维护并被其他CI程序员理解。
您可以指示CI自动加载此文件,也可以根据需要手动加载。请参阅" Config class"。
上的CI手册