Структура папок и файлов

Структура папок в Ирокезе выглядит следующим образом:

..
\- data
|- handlers
|- include
|- public
|- templates
|- tmp
|- userfiles

также в корневой папке находятся файлы:

..
\- .htaccess
|- loader.php
|- path.ini

Далее описано подробнее назначение и содержимое папок и файлов

data

Папка предназначена для хренения файлов с данными: конфиги, языковые файлы, и т.д. Структура папки следующая:

data
\- config
|- language
|- modules

Папка config содержит конфигурационные файлы:

data/
\- config/
\- cherokee.ini
|- languages.ini
|- site.ini

cherokee.ini - переменные конфигурации Чероки: 

[kernel]
log_format = "[%year-%month-%day %hours:%minutes:%seconds] %message"
timezone = "Asia/Seoul"
log_errors = yes
show_errors = yes
trace_errors = yes

[database]
host = localhost
user = root
pass = ***
name = irokez
charset = utf8

В блоке [kernel] определены следующие переменные:

  • log_format - формат для записи лог файла
  • timezone - временная зона сервера
  • log_errors - флаг (yes/no), определяет будет ли вестись лог ошибок
  • show_errors - флаг, определяет будут ли отображены ошибки на сайте
  • trace_errors - флаг, определяет будет ли выведен трейс ошибок

Блок [database] определяет переменные, необходимые для доступа к СУБД, а также кодировку базы данных.

languages.ini - содержит описание языков, доступные на сайте

site.ini - конфигурация сайта:

[default]
language = ru

[site]
root_section = home
root_group = root
root_folder = userfiles
gzip_enabled = no
single_lang = yes

Блок [default] определяет значения по-умолчанию для сайта. Переменная language - содержит язык, на котором, будем выводиться сайт по-умолчанию.
В блоке [site] содержатся следующие переменные:

  • root_section - имя корневого раздела
  • root_group - имя корневой группы
  • root_folder - имя корневой папки
  • gzip_enabled - флаг, определяет стоит ли использовать gzip сжатие при отправке страницы браузеру
  • single_lang - флаг, определяет используется на сайте только один язык или же несколько

Папка language хранит описание языков, доступных на сайте. Подробнее о содержании конфиг файлов в разделе о локализации и мультиязычности.

Папка modules хранит описание моделей данных в XML формате. Подробнее о формате конфигов в разделе о работе с таблицами.

handlers

Папка handlers содержит обработчики страниц и блоков. Структура папки следующая:

handlers
\- dynamic
|- errors
|- static
|- tags

Каждая подпапка хранит определенный тип обработчиков:

  • dynamic - обработчики страниц динамичного рутинга
  • errors - обработчики страниц-ошибок
  • static - обработчики страниц статического рутинга
  • tags - обработчики блоков

include

Папка include содержит основные PHP скрипты:

include
\- cherokee
|- irokez
|- lib
|- patterns
  • cherokee - фреймворк Чероки
  • irokez - файлы Ирокезы
  • lib - библиотека вспомогательных функций
  • patterns - шаблоны обработчиков

public

Папка содержит файлы, доступные пользователям сайта непосредственно из браузера:

public
\- css
|- img
|- js
|- mohawk
  • css - файлы стилей (CSS)
  • img - изображения, картинки
  • js - яваскрипт файлы (JS)
  • mohawk - файлы JS-фреймворка Мохавк

templates

Данная папка содержит шаблоны страниц и различных элементов.

tmp

Папка содержит временные файлы.

tmp
\- cache
|- email
|- logs
|- upload
  • cache - содержит кеш шаблонов, страниц, уменьшенных изображений
  • email - неотправленные письма
  • logs - логи
  • upload - загружаемые файлы

userfiles

В этой папке хранятся файлы пользователя, загружаемые и управляемые через Ирокез.

.htaccess

Файл с настройками веб сервера Apache. Содержит правила для перенаправления запросов, а также закрывает доступ к конфиг файлам.

loader.php

Загрузчик системы: загружает Ирокез и выдает результат обработанного запроса.

path.ini

Конфиг файл, содержащий пути к папкам Ирокеза.