MZZ.Framework 1.0
Разделы

3.2 Приложение

3.2.1 Обзор
3.2.2 Конфигурационный файл
3.2.3 Класс приложения

3.2.1 Обзор

Структура типичного приложения:

3.2.2 Конфигурационный файл

Типичный конфигурационный файл (config.php):

<?php
/**
 * Абсолютный путь до сайта.
 * Если mzz установлен в корень веб-сервера, оставьте поле пустым
 * Правильно: /mzz, /new/site
 * Неправильно: site1, site1/, /site1/
 */
define('SITE_PATH', '');
define('COOKIE_DOMAIN', '');
 
define('DEBUG_MODE', true);
 
// Путь до директории system в mzz
define('SYSTEM_PATH', realpath(dirname(__FILE__) . '/../system/'));
 
// Идентификатор записи в БД для неавторизированных пользователей
define('MZZ_USER_GUEST_ID', 1);
 
// Идентификатор группы, для которой ACL всегда будет возвращать true (т.е. предоставит полный доступ)
define('MZZ_ROOT_GID', 3);
 
require_once SYSTEM_PATH . DIRECTORY_SEPARATOR . 'systemConfig.php';
 
// Дефолтный язык приложения
systemConfig::$i18n = 'ru';
 
// Включаем мультиязычность
systemConfig::$i18nEnable = true;
 
// Устанавливаем дефолтную кодировку для выдачи
ini_set('default_charset', 'utf-8');
 
// Настройка соединения с БД приложения
systemConfig::$db['default']['driver'] = 'pdo';
systemConfig::$db['default']['dsn']  = 'mysql:host=localhost;dbname=mzz';
systemConfig::$db['default']['user'] = 'root';
systemConfig::$db['default']['password'] = '';
systemConfig::$db['default']['options'] = array();
systemConfig::$db['default']['options']['init_query'] = 'SET NAMES utf8';
 
// Установка переменных окружения
systemConfig::$appName = 'demo';
systemConfig::$appVersion = '1.0-alpha';
systemConfig::$enabledModules = array('captcha', 'comments', 'fileManager', 'menu', 'news', 'page');
systemConfig::$pathToApplication = dirname(__FILE__);
systemConfig::$pathToWebRoot = systemConfig::$pathToApplication . '/www';
systemConfig::$pathToTemp = systemConfig::$pathToApplication . '/tmp';
systemConfig::$pathToConfigs = systemConfig::$pathToApplication . '/configs';
 
// Настройка дефолтного мейлера
systemConfig::$mailer['default']['backend'] = 'PHPMailer';
systemConfig::$mailer['default']['params'] = array('html' => true, 'smtp' => true, 'smtp_host' => 'localhost');
 
/**
 * Здесь могут находиться другие системные настройки приложения, 
 * такие как настройки кеширования, шаблонизатора, сессий и др.
 */
 
systemConfig::init();
 
?>

Опишем параметры конфигурационного файла:

Директива Описание
define('DEBUG_MODE', ...);
Режим отладки.
define('SYSTEM_PATH', ...));
Абсолютный путь до system каталога MZZ.
systemConfig::$appName
systemConfig::$appVersion
Имя и версия вашего приложения.
systemConfig::$pathToApplication
Путь до каталога вашего приложения.
systemConfig::$pathToWebRoot
Путь до web-root вашего приложения.
systemConfig::$pathToTemp
Путь до tmp каталога приложения.
systemConfig::$pathToConf
Путь до каталога с конфигурационными файлами приложения.

3.2.3 Класс приложения

Типичный класс приложения (application.php):

<?php
class application extends core
{
 
}
?>

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

В обычных случаях не требуется никакого вмешательства в код этого класса.