Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP для продвинутых.docx
Скачиваний:
16
Добавлен:
01.07.2025
Размер:
12.54 Mб
Скачать

36. Другие модули Kohana

Существует большое количество дополнительных модулей. С большинством из них можно ознакомиться на сайте http://kohana-modules.com

Все модули описывать бессмысленно, хотя бы потому, что любые задачи, которые позволяют решить модули, можно решить и без знания этих модулей.

37. Состояние проекта

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

В kohana существует несколько состояний проекта:

Kohana::PRODUCTION – готовый проект Kohana::STAGING – подготовка к релизу Kohana::TESTING – тестирование Kohana::DEVELOPMENT – разработка (по умолчанию).

Данная настройка устанавливается в переменной Kohana::$environment.

Настройка окрущающей среды для разработки. Листинг 37.1

Kohana::$environment = Kohana::DEVELOPMENT;

Настройка окрущающей среды для пользователей. Листинг 37.2

Kohana::$environment = Kohana::PRODUCTION;

В файле bootstrap.php сразу после комментария “Configuration and Initialization” можно прописать следующее:

Настройка общей окружающей среды. Листинг 37.3

if (strpos($_SERVER['HTTP_HOST'], 'myproject.com') !== FALSE)

{

// Мы в интернете!

Kohana::$environment = Kohana::PRODUCTION;

// Отключаем вывод ошибок и уведомлений

error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT);

}

Состояние проекта мы можем определять в файле .htaccess, создав серверную переменную $_SERVER['KOHANA_ENV'].

Создание серверной переменной $_SERVER[‘KOHANA_ENV’] в файле .htaccess. Листинг 37.4

SetEnv KOHANA_ENV production

В bootstrap.php есть конструкция, которая проверяет на существование данной серверной переменной.

Использование $_SERVER[‘KOHANA_ENV’]. Листинг 37.5

if (isset($_SERVER['KOHANA_ENV']))

{

Kohana::$environment = constant('Kohana::'.strtoupper($_SERVER['KOHANA_ENV']));

}

38. Дополнительное конфигурирование

Часовой пояс

Часовой пояс мы можем указать в файле bootstrap.php

Давайте откроем данный файл, найдем строку

date_default_timezone_set('America/Chicago'), где America/Chicago необходимо заменить на Europe/Minsk.

Установка часового пояса. Листинг 38.1

date_default_timezone_set('Europe/Minsk);

По адресу http://kohanaframework.org/guide/using.configuration либо http://php.net/timezones можно ознакомиться с дополнительными параметрами функции date_default_timezone_set().

Язык по умолчанию

По умолчанию установлена локаль en_US. В файле bootstrap.php мы можем поменять локаль по умолчанию.

Установка русской локали. Листинг 38.2

setlocale(LC_ALL, 'ru_RU.utf-8');

$this->auto_render = FALSE; - отключение вывода HTML-кода

Еще несколько вариантов редиректа

Редирект. Листинг 38.3

Request::initial()->redirect(‘’);

$this->redirect(‘’);

Включение short_open_tag в файле .htaccess

Файл .htaccess, включение short_open_tag. Листинг 38.4

php_flag short_open_tag On

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]