Ответ 1
Не использовать application/config/constants.php
- глупость! Это только место, вы должны помещать свои константы. Не меняйте файлы в system
, если вас беспокоит обновление.
Я хочу знать чистый способ определения констант приложения в 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.
Пожалуйста, предложите мне чистый способ определения констант уровня приложения в воспламенителе кода.
Не использовать application/config/constants.php
- глупость! Это только место, вы должны помещать свои константы. Не меняйте файлы в system
, если вас беспокоит обновление.
Вместо использования define()
ваш файл my_constants.php должен выглядеть примерно так:
$config['app_version'] = '1.0.0';
Будьте осторожны, именовав ключ массива, хотя вы не хотите ни с кем контактировать.
Если вам нужно использовать define()
, я бы предложил сделать это в основном файле index.php, но вам все равно нужно использовать APP_VERSION
для получения значения.
просто полный ответ. (Ни один из ответов не показывает, как использовать объявленные константы)
Процесс прост:
Определение константы. Откройте config/constants.php
и добавьте следующую строку:
define('SITE_CREATOR', 'John Doe')
используйте эту константу в другом файле, используя:
$myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'
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';
Обратите внимание:
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');
Вы можете выполнить свою задачу, добавив константы в свой собственный файл конфигурации, например my_config.php
.
Вы сохранили бы этот файл в папке application/config
, например:
application/config/my_config.php
.
Для каждого приложения, которое вы пишете, очень часто используется отдельный файл конфигурации, поэтому это было бы легко поддерживать и понимать другие программисты CI.
Вы можете поручить CI автозагрузить этот файл или загрузить его вручную, при необходимости. См. Руководство CI в разделе "Конфигурация".