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]