2012-05-08 2 views
10

Я хочу знать чистый способ определения констант приложения в Codeigniter. Я не хочу менять собственный файл codeigniter. Поэтому я не хочу определять его в application/config/constants.php, так как когда мне нужно перейти на новую версию кода-воспламенителя, я не смогу напрямую копировать собственные файлы codeigniter.Определение констант применения в 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

Пожалуйста, следуйте руководству, которое вам поможет http://codeigniter.com/user_guide/libraries/config.html –

+0

Это не очень полезно, потому что, как говорится в руководстве, codeigniter объединит ваш файл в массив констант , поэтому вы получите тот же результат и откроете еще один файл, чем обычно, поэтому он будет медленнее. – Patroklo

+4

Любые файлы в папках приложений предназначены для редактирования. Просто не изменяйте что-либо в системной папке. – Broncha

ответ

31

Не используется application/config/constants.php - чепуха! То есть только место вы должно ставить ваши константы. Не меняйте файлы в system, если вы беспокоитесь об обновлении.

+1

Причина, по которой я избегаю использования 'application/config/constants.php' для моих пользовательских констант приложения, - это то, что я хочу, чтобы мои пользовательские константы приложения были отделены от константы, определенной общим кодом-Igniter. Я сохраняю свои настраиваемые параметры конфигурации в отдельном файле 'application/config/my_config.php' и не смешиваю его с' application/config/config.php' В той же строке я хотел сохранить свои пользовательские константы приложения в отдельном файле. На данный момент я собираюсь использовать 'application/config/constants.php' для определения моих констант. Спасибо за ваш ответ. – piyush

+4

Вы можете include_once 'my_constants.php' из константы.php, чтобы эти файлы были разделены. –

2

Вместо использования define(), файл my_constants.php должен выглядеть примерно так:

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

Будьте осторожны с именования ключа массива, хотя, вы не хотите вступать в конфликт с чем-либо.

Если вам нужно использовать define(), я бы предложил сделать это в основном файле index.php, хотя вам нужно будет использовать APP_VERSION, чтобы получить значение.

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'; 
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'); 
2

только полный ответ. (Ни один из ответов не показывают, как использовать константы, которые были заявлены)

процесс прост:

  1. Определение константы. Открыть config/constants.php и добавьте следующую строку:

    define('SITE_CREATOR', 'John Doe')

  2. использовать эту константу в другом файле с помощью:

    $myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'

0

Вы можете достичь своей цели путем добавления константы в свой собственный конфиг файл, такой как my_config.php.

Сохраните этот файл в папке application/config, например: application/config/my_config.php.

Обычно для каждого приложения, которое вы пишете, имеется отдельный файл конфигурации, поэтому его можно было бы легко поддерживать и понимать другими программистами CI.

Вы можете указать CI автозагрузку этого файла или загрузить его вручную, если необходимо. См. Руководство CI в разделе «Конфигурация».

Смежные вопросы