Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Системные настройки

В корневой папке проекта находится папка с файлами настроек "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 начало работы

Следующий раздел

Общие принципы моделей