2

我想在 Codeigniter 中使用包含常量的新文件,所以我创建了该文件/config/labels.php

当我尝试将它加载到我的控制器中时$this->config->load('labels');,它会抛出 application/config/labels.php file does not appear to contain a valid configuration array.

但是,当我将代码放在 constants.php 文件中时,一切正常。

labels.php 

<?php
define('CLI_CIVILITE','Civilité');
define('CLI_NOM','Nom');
define('CLI_PRENOM','Prenom');
4

4 回答 4

8

配置文件应该包含一个数组$config 这就是它抛出错误的原因。

当配置类加载配置文件时,它会检查是否$config已设置。如果不是,它将引发错误。

据我所知,没有使用自定义常量加载您自己的文件的功能。到目前为止,您必须将这些常量添加到application/config/constants.php

于 2012-06-13T15:22:31.953 回答
2

在常量文件中,定义如下变量:

$ORDER_STATUS = array(
    '0' => 'In Progress',
    '1' => 'On Hold',
    '2' => 'Awaiting Review',
    '3' => 'Completed',
    '4' => 'Refund Requested',
    '5' => 'Refunded');

然后,在控制器中:

function __construct()
{
    $this->config->load('$ORDER_STATUS');
}
于 2014-01-17T09:34:14.547 回答
0

写在你的配置示例中并保存为banned_idcard.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config ['banned_idcard'] = array (
'23104013',
'2010201103',
'11106062',
);

在你的控制器中

<?php
function __construct () {
$banned_idcards = $this->config->load('banned_idcard');
}
于 2013-07-10T08:24:25.223 回答
0

在您的配置中/config/labels.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
    'CLI_CIVILITE' => 'Civilité',
    'CLI_NOM' => 'Nom',
    'CLI_PRENOM' => 'Prenom'
);

在您的控制器中:

$this->config->load('labels');
var_dump((array)$this->config); //show all the configs including those in the labels.php
于 2014-12-09T03:47:31.367 回答