Обработка нескольких сред
Разработчики часто стремятся к различному поведению системы в зависимости от того, работает ли приложение в среде разработки или производства. Например, подробный вывод ошибок полезен во время разработки приложения, но может представлять собой проблему безопасности в «живом» режиме.
Константа ENVIRONMENT
По умолчанию CodeIgniter использует константу среды, значение которой взято из $_SERVER['CI_ENV'], в противном случае используется значение по умолчанию ‘development’. В верхней части файла index.php вы увидите:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Эта переменная сервера может быть установлена в файле .htaccess или в конфигурации Apache с помощью SetEnv. Для nginx и других серверов доступны альтернативные методы, или вы можете полностью удалить эту логику и установить константу на основе IP-адреса сервера.
Помимо влияния на некоторые основные характеристики фреймворка (см. следующий раздел), вы можете использовать эту константу в собственной разработке для различения среды выполнения.
Влияние на поведение фреймворка по умолчанию
В системе CodeIgniter есть места, где используется константа ENVIRONMENT. Этот раздел описывает, как это влияет на поведение фреймворка по умолчанию.
Обработка ошибок
Установка константы ENVIRONMENT в значение ‘development’ приведет к отображению всех ошибок PHP в браузере при их возникновении. И наоборот, установка константы в ‘production’ отключит вывод всех ошибок. Отключение обработки ошибок в режиме производства является хорошей практикой безопасности.
Файлы конфигурации
По желанию вы можете заставить CodeIgniter загружать файлы конфигурации, специфичные для среды. Это может быть полезно для управления такими параметрами, как различные API-ключи в разных средах. Более подробная информация приведена в разделе «Среда» документации класса Config.
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/general/environments.html