Использование констант модели в конфигурационном файле (CodeIgniter) - PullRequest
2 голосов
/ 01 апреля 2012

Я новичок в CodeIgniter. Я использую его для своего личного проекта.

Одна из вещей, которой я хотел бы следовать, - придерживаться лучших практик кодирования. Одним из них является СУХОЕ правило (не повторяй себя). Я пытаюсь определить некоторые константы в подходящем классе модели и использовать их повсюду в коде, поэтому, когда дело доходит до небольших изменений, это должно быть сделано только в одном месте.

У меня есть этот класс Hero_attributes, который имеет несколько констант, например ::1006*


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 ]

5 голосов
/ 02 апреля 2012

Если вам нужно только определить константы.Вы можете определить их в ./application/config/constants.php файле, они доступны в приложении

0 голосов
/ 01 апреля 2012

вам нужно автозагрузить класс модели Hero_attributes.вероятно, придется сделать это перед автозагрузкой файла конфигурации.

извините, мой предыдущий ответ был удален модератором, потому что я задал вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...