Eaze: Основная информация
Eaze – это CMF, написанный на PHP5, имеющий MVC-архитектуру.
Основная идея фреймворка заключается в двух конфигурационных файлах – sites.xml и pages.xml. В sites.xml содержатся настройки для различных хостов с возможностью наследования и переопределения настроек. В pages.xml содержатся правила для обработки url (так называемый routing) для различных сайтов, определенных в sites.xml.
Перед рассмотрением основных конфигурационных файлов давайте рассмотрим структуру проекта.
Структура проекта
docs
Model – папка проекта MFD.
<Project>.mfd – файл проекта MFD, открывать через MF.Devenv.
*.xml – файлы пакетов проекта (описание классов, шаблонов).
Patches
Views
create_hosts.bat – скрипт создания vhost для apache и модификации файла hosts.
rebuild-database.bat – пересоздание базы данных (создание структуры, views, загрузка начальных и тестовых данных).
<Project>.dm2 – файл Toad Data Modeller 2.25 со структурой БД.
<Project>.sql – файл со структурой БД, которую создает Toad Data Modeller.
test.sql – тестовые данные для БД.
init.sql – начальные данные для БД.
web
cache – папка, в которой содержатся закешированные файлы шаблонов, переводов,pages.xml, sites.xml, редактора tinymce, minify-файлы.
.htaccess – настройки запрета на просмотр.
etc
conf – папка с главными конфигурационными файлами.
errors – файлы для обработки ошибок.
.htaccess – настройки запрета на просмотр.
<error-code>.html – файл с ошибкой, где error-code – это HTTP Status Code (404 – не найден, 501 – адрес сайта не прописан в sites.xml).
locale – файлы локализации.
.htaccess – настройки запрета на просмотр.
ru.xml – русский язык, utf-8.
en.xml – английский язык, utf-8.
templates – папка с шаблонами.
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.
<Project>.Site – логика работы frontend’а.
<Project>.<Package> – описание структуры пакета
actions – папка с actions, на них лежит основная логика отображения и поведения urls.
<Class>.php – объект, генерируется через MFD, вручную не редактируется (за исключением флага IsLocked в MFD), его возможно в любой момент времени перегенерировать через MFD.
<Class>Factory.php – файл для работы с БД, вручную никогда не редактируется, генерируется только через MFD.
<Class>Utility.php – статические классы с методами, константами, пишутся вручную. Типовое назначение – работа с БД.
<Class>Helper.php – статические классы с методами, константами, пишутся вручную. Типовое назначение – работа с отображением.
-
shared
.htaccess – отключение RewriteEngine.
minify.php – скрипт для склеивания списка файлов в один (применительно к js и css).
css – стили.
files – папка с файлами VFS (виртуальной файловой системы).
flash
images
js
temp – временное хранение файлов.
.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.