在配置文件中使用模型常量(CodeIgniter)

时间:2012-04-01 14:00:44

标签: php codeigniter codeigniter-2

我是CodeIgniter的新手。我正在将它用于我的个人项目。

我想遵循的一个方面是坚持最好的编码实践。其中一个是DRY规则(不要重复自己)。我尝试在适当的模型类中定义一些常量,并在代码中的其他地方使用它们,所以当涉及到一点变化时,它必须只在一个地方完成。

我有这个类Hero_attributes,它有几个常量,例如:


class Hero_attributes
{
    const ID = 'id';
    const NAME = 'name';
    const LEVEL = 'level';
    const MAG_LEVEL = 'maglevel';
    const VOCATION = 'vocation';
    const GENDER = 'sex';
    const SPEED = 'speed'
    (...)
}

我还制作了自动加载的自定义配置文件tenkai_config.php。在配置数组中,我想使用Hero_attributes类中的常量作为键,即:


$config['vocations']['default'] = array(
    'hero' => array(
        Hero_attributes::LAST_LOGIN => 0,
        Hero_attributes::LEVEL => 1,
        Hero_attributes::MAG_LEVEL => 80,
        Hero_attributes::RESIDENCE => 1,
        Hero_attributes::POSITION_X => 73,
        Hero_attributes::POSITION_Y => 181,
        Hero_attributes::POSITION_Z => 6,
        (...)
    )
);

但是,我收到Fatal error: Class 'Hero_attributes' not found in C:\wamp_new\www\yourwodb\application\config\tenkai_config.php on line 29消息。

如何在配置文件中使用常量?

2 个答案:

答案 0 :(得分:5)

如果您只需要定义常量。您可以在整个应用程序中可用的./application/config/constants.php文件中定义它们

答案 1 :(得分:0)

您需要自动加载Hero_attributes模型类。可能必须在自动加载配置文件之前这样做。

抱歉,我之前的回复被版主删除,因为我问了一个问题。