Определение констант приложения в Codeigniter

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

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

Ответ 1

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

    define('SITE_CREATOR', 'John Doe')

  • используйте эту константу в другом файле, используя:

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

Ответ 4

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

Ответ 5

Обратите внимание:

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

Ответ 6

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

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

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

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