Системные настройки
В корневой папке проекта находится папка с файлами настроек "config", которая содержит следующие файлы с настройками:
- models.php - активные модели
- plugins.php - активные плагины
- routes.php - маршруты для связывания URL и шаблонов
- settings.php - общие настройки
- setup.php - текущие настройки сервера (для запуска проекта на новом сервере или переноса с локального сервера на рабочий)
Настройки оформлены в виде обычных массивов (модели, плагины) и ассоциированных массивов (маршруты и все остальные настройки). Можно добавлять новые настройки и они буду доступны везде через объект "Registry".
Основные настройки
- Mode - режим работы "development" или "production" (в режиме "development" PHP, PDO, PEAR ошибки выводятся на экран)
- DbEngine, DbFile, DbHost, DbUser, DbPassword, DbName - настройки базы данных (DbFile только для SQLite)
- TimeZone - часовой пояс в котором работает сайт, значение вида "Etc/GMT-7"
- DomainName - доменное имя сайта (без "/" на конце!)
- MainPath - URL путь от корня сервера до проекта, на рабочем сервере обычно "/"
- AdminFolder - название папки с административной панелью (для изменения папки надо изменить настройку и переименовать папку)
- SessionSupport - поддержка стандартной PHP сессии (когда включена вызывается "session_start()"), подробнее в разделе Работа с сессиями
- IncludePath - путь от корня файловой системы, присутствует также в разделе Объект MV
- FilesPath - папка с пользовательскими файлами (в рабочем режиме к ней добавляется IncludePath), также полезные методы для работы с файлами есть в разделах Специальные методы и Файлы и изображения
- ModelVersionsLimit - ограничение на количество версий записей для всех активных моделей. Для каждой модели данный параметр может быть установлен индивидуально Настройка модели
- HttpPath - полный путь с доменом до корня проекта
- HttpAdminPanelPath - полный путь с доменом до административной панели проекта
Доступ к настройкам
Для доступа к настройкам в моделях и шаблонах используется объект класса "Registry", который доступен внутри каждой модели, плагина, а также объекта "$mv". Объект "Registry" использует единый массив для хранения настроек, поэтому названия (ключи массивов) в файлах settings.php и setup.php не должны пересекаться.
В классах моделей настройка "MainPath" доступен как свойство "$root_path", аналогичное свойство также есть у объекта, описанного в разделе Объект MV.
//Примеры получения настройки $mv -> registry -> getSetting("DomainName"); $mv -> registry -> getSetting("IncludePath"); class Articles extends Model { ... public function display() { ... $html .= $this -> registry -> getSetting("MainPath")."article/".$row["id"]."/"; //или аналогично $html .= $this -> root_path."block/".$row["id"]; } } //Можно "на лету" добавлять собственные настройки и они будут доступны во всем проекте $mv -> registry -> setSetting("MySetting", 57);
Настройки для запуска проекта
Для запуска или переноса проекта на рабочий сервер обычно нужно изменить только файл "setup.php", который отвечает за локальные настройки сервера. Необходимо прописать следующие настройки:
- Mode - значение "production"
- DbEngine, DbFile, DbHost, DbUser, DbPassword, DbName - настройки базы данных, для базы SQLite необходимо также выставить права на папку и сам файл базы данных.
- TimeZone - часовой пояс для использования даты и времени, а также учет записей в административной панели
- DomainName - доменное имя сайта, для отправки почты
- MainPath - путь до проекта, на рабочем сервере обычно "/"
Предыдущий раздел
SQLite начало работы