在Codeigniter中定义应用程序常量

fruv7luv  于 2022-12-07  发布在  其他
关注(0)|答案(7)|浏览(127)

我想知道在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.
请给我一个在代码触发器中定义应用程序级常量的简洁方法。

ttp71kqs

ttp71kqs1#

不使用application/config/constants.php是无稽之谈!这是唯一你**应该 * 放置常量的地方。如果你担心升级,不要更改system中的文件。

pprl5pva

pprl5pva2#

只是一个完整的答案。(没有一个答案显示如何使用声明的常量)
过程很简单:
1.定义一个常量。打开config/constants.php并添加以下行:
define('SITE_CREATOR', 'John Doe')
1.在另一个文件中使用此常量:
$myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'

cmssoen2

cmssoen23#

您的my_constants.php文件应该如下所示,而不是使用define()

$config['app_version'] = '1.0.0';

但是,在命名数组键时要小心,您不希望与任何内容发生冲突。
如果您需要使用define(),我建议在主index.php文件中使用,尽管您仍然需要使用APP_VERSION来获取值。

tquggr8v

tquggr8v4#

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';
nzk0hqpo

nzk0hqpo5#

请参考:
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');
qaxu7uf2

qaxu7uf26#

您可以通过向自己的配置文件中添加常量(如my_config.php)来实现您的目标。
您可以将此文件保存在application/config文件夹中,如下所示:application/config/my_config.php .
对于您编写的每个应用程序,都有一个单独的配置文件,这是非常常见的,因此这将易于维护,并为其他CI程序员所理解。
您可以指示CI自动加载此文件,也可以根据需要手动加载。请参阅CI手册中的“Config class”。

eit6fx6z

eit6fx6z7#

我建议您使用composer.json自动加载您自己的Constants.php文件,如下所示:

相关问题