====== Eaze: Основная информация ====== Eaze – это CMF, написанный на PHP5, имеющий MVC-архитектуру. Основная идея фреймворка заключается в двух конфигурационных файлах – [[eaze:sites.xml]] и [[eaze:pages.xml]]. В sites.xml содержатся настройки для различных хостов с возможностью наследования и переопределения настроек. В pages.xml содержатся правила для обработки url (так называемый routing) для различных сайтов, определенных в sites.xml. Перед рассмотрением основных конфигурационных файлов давайте рассмотрим структуру проекта. ===== Структура проекта ===== *docs * Model – папка проекта MFD. * .mfd – файл проекта MFD, открывать через MF.Devenv. * *.xml – файлы пакетов проекта (описание классов, шаблонов). * Patches * YYYY-MM-DD-.sql – патчи на базу данных. * Views * ..sql – файлы для создания Views. * create_hosts.bat – скрипт создания vhost для apache и модификации файла hosts. * rebuild-database.bat – пересоздание базы данных (создание структуры, views, загрузка начальных и тестовых данных). * .dm2 – файл Toad Data Modeller 2.25 со структурой БД. * .sql – файл со структурой БД, которую создает Toad Data Modeller. * test.sql – тестовые данные для БД. * init.sql – начальные данные для БД. * web * cache – папка, в которой содержатся закешированные файлы шаблонов, переводов,pages.xml, sites.xml, редактора tinymce, minify-файлы. * .htaccess – настройки запрета на просмотр. * etc * conf – папка с главными конфигурационными файлами. * [[eaze:sites.xml]] – настройки сайта (БД, адрес, виртуальные пути). * [[eaze:pages.xml]] – список страниц сайта. * .htaccess – настройки запрета на просмотр. * errors – файлы для обработки ошибок. * .htaccess – настройки запрета на просмотр. * .html – файл с ошибкой, где error-code – это HTTP Status Code (404 – не найден, 501 – адрес сайта не прописан в sites.xml). * locale – файлы локализации. * .htaccess – настройки запрета на просмотр. * ru.xml – русский язык, utf-8. * en.xml – английский язык, utf-8. * templates – папка с шаблонами. * .htaccess – настройки запрета на просмотр. * fe – frontend. * elements * header.tmpl.php * footer.tmpl.php * index.tmpl.php * mail – шаблоны писем. * vt – backend. * lib – папка с PHP файлами, основной код. Пакеты Base.* и Eaze.* изменять нельзя. При обновлении платформы достаточно заметить их содержимое. * Base.Tree – пакет для работы с деревьями. * Base.VFS – пакет для работы с виртуальной файловой системой. * Eaze.Core – базовые классы платформы. * Eaze.Database – работа с базой данных. * Eaze.Helpers – вспомогательные классы. * Eaze.Model – ORM. * Eaze.Modules – модули. * Eaze.Site – логика работы сайта, обработка sites.xml, pages.xml. * .Site – логика работы frontend’а. * . – описание структуры пакета * actions – папка с actions, на них лежит основная логика отображения и поведения urls. * .php – объект, генерируется через MFD, вручную не редактируется (за исключением флага IsLocked в MFD), его возможно в любой момент времени перегенерировать через MFD. * Factory.php – файл для работы с БД, вручную никогда не редактируется, генерируется только через MFD. * Utility.php – статические классы с методами, константами, пишутся вручную. Типовое назначение – работа с БД. * Helper.php – статические классы с методами, константами, пишутся вручную. Типовое назначение – работа с отображением. * [[eaze:actions.xml|..xml]] – файл описания actions. При создании нового action, он должен быть объявлен в этом файле. * shared * .htaccess – отключение RewriteEngine. * minify.php – скрипт для склеивания списка файлов в один (применительно к js и css). * css – стили. * files – папка с файлами VFS (виртуальной файловой системы). * .htaccess – отключение php_engine. * flash * images * js * temp – временное хранение файлов. * .htaccess – отключение php_engine. * .htaccess – безусловное перенаправление всех запросов на eaze.php * eaze.php – главный файл. * eaze.production.php – главный файл, находится в production’е. Главное оОтличие от eaze.php – влюченный флаг компиляции пакетов. * post_deploy.sh – скрипт, обычно исполняется после каждой выливки, в нем расставляются права, eaze.php удаляется, а eaze.production.php переименовывается в eaze.php. * Makefile – скрипт для deploy. * build.properties – настройки для deploy. * excludedFiles.txt – список папок/файлов, которые нужно исключить при deploy’e.