MZZ.Framework 0.3.x: Документация
Разделы

4.2 Создание конфигурации для проекта

Вся конфигурация проекта содержится в следующих файлах в каталоге проекта:

configs/
    .htaccess
    config.php
    modules.php
    routes.php
.htaccess
application.php

Файл configs/.htaccess содержит лишь одну строку, которая запрещает внешний просмотр и выполнение файлов в каталоге configs/

Deny from all

Файл configs/config.php содержит системную конфигурацию

<?php
 
/**
 * Абсолютный путь до сайта.
 * Если mzz установлен в корень веб-сервера, оставьте поле пустым
 * Правильно: /mzz, /new/site
 * Неправильно: site1, site1/, /site1/
 *
 */
define('SITE_PATH', '');
define('COOKIE_DOMAIN', '');
 
define('DEBUG_MODE', 1);
define('SYSTEM_PATH', '../system/');
 
/**
 * Идентификатор записи в БД для неавторизированных пользователей
 */
define('MZZ_USER_GUEST_ID', 1);
 
/**
 * Идентификатор группы, для которой ACL всегда будет возвращать true (т.е. предоставит полный доступ)
 */
define('MZZ_ROOT_GID', 2);
 
require_once(SYSTEM_PATH . 'systemConfig.php');
 
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']['charset'] = 'utf8';
systemConfig::$db['default']['pdoOptions'] = array();
 
systemConfig::$pathToApplication = dirname(__FILE__) . '';
systemConfig::$pathToTemp = realpath(dirname(__FILE__) . '/../tmp');
systemConfig::$pathToConf = dirname(__FILE__) . '/configs';
 
systemConfig::init();
 
?>

Файл configs/modules.php содержит ассоциативный массив связи секция => модуль

$modules = array (
    'access' => 'access',
    'admin' => 'admin',
    'comments' => 'comments',
    'config' => 'config',
    'menu' => 'menu',
    'news' => 'news',
    'page' => 'page',
    'captcha' => 'captcha',
    'user' => 'user',
);

Файл configs/routes.php содержит настройку Routes для URL

<?php
 
$router->addRoute('default', new requestRoute('', array('section' => 'news', 'action' => 'list', 'name' => 'root')));
$router->addRoute('default2', new requestRoute(':section/:action'));
$router->addRoute('withId', new requestRoute(':section/:id/:action', array('action' => 'view'), array('id' => '\d+')));
 
?>

Файл application.php (todo)

<?php
/**
 * $URL: svn://svn.subversion.ru/usr/local/svn/mzz/trunk/docs/documentation/codes/quick_start.config-2.php $
 *
 * MZZ Content Management System (c) 2006
 * Website : http://www.mzz.ru
 *
 * This program is free software and released under
 * the GNU/GPL License (See /docs/GPL.txt).
 *
 * @link http://www.mzz.ru
 * @package system
 * @subpackage core
 * @version $Id: quick_start.config-2.php 2182 2007-11-30 04:41:35Z zerkms $
*/
 
/**
 * application: приложение
 *
 * @package system
 * @subpackage application
 * @version 0.1
 */
 
class applicaion extends core
{
 
}
 
?>

Файл .htaccess содержит настройки для http-сервера Apache

AddDefaultCharset UTF-8
RewriteEngine on
Options +FollowSymlinks -Indexes -Includes -MultiViews
# +MultiViews
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
#Uncomment next line if you want no rewrite exists folders
#RewriteCond %{SCRIPT_FILENAME} !-d
 
RewriteRule (.*) index.php?path=/$1&%{QUERY_STRING} [L]