Техническая документация Irbis — различия между версиями
(→Каталог single) |
(→Каталог spec) |
||
Строка 112: | Строка 112: | ||
== Каталог spec == | == Каталог spec == | ||
+ | |||
+ | Содержит файлы для связи ссылок на сайте и обработчиков в папке class. | ||
+ | Основные файлы директории: | ||
+ | * buh.php - | ||
+ | * call_me.php - | ||
+ | * cart.php - | ||
+ | * catalog.php - | ||
+ | * catalog_manager.php - | ||
+ | * contact_form.php - | ||
+ | * cron.php - | ||
+ | * customer.php - | ||
+ | * dashboard.php - | ||
+ | * finance.php - | ||
+ | * garage_manager.php - | ||
+ | * home.php - | ||
+ | * manager.php - | ||
+ | * manager_cart.php - | ||
+ | * manager_invoice_customer.php - | ||
+ | * message.php - | ||
+ | * news.php - | ||
+ | * own_auto.php - | ||
+ | * payment.php - | ||
+ | * payment_declaration.php - | ||
+ | * payment_declaration_manager.php - | ||
+ | * payment_report.php - | ||
+ | * payment_report_manager.php - | ||
+ | * price.php - | ||
+ | * price_ftp.php - | ||
+ | * price_group.php - | ||
+ | * price_profile.php - | ||
+ | * price_queue.php - | ||
+ | * price_search_log.php - | ||
+ | * print_content.php - | ||
+ | * public_provider.php - | ||
+ | * rubricator.php - | ||
+ | * search.php - | ||
+ | * store.php - | ||
+ | * test.php - | ||
+ | * user.php - | ||
+ | * vin_request.php - | ||
+ | |||
+ | |||
+ | Все файлы в данной директории должны иметь название в нижнем регистре, латиницей, для разделения слов допускается только знак нижнего подчеркивания "_". | ||
+ | Пример файла: | ||
+ | <pre> | ||
+ | <?php | ||
+ | $sPrefix='customer_'; | ||
+ | $oObject=new Customer(); | ||
+ | |||
+ | switch (Base::$aRequest['action']) | ||
+ | { | ||
+ | case $sPrefix.'profile': | ||
+ | $oObject->Profile(); | ||
+ | break; | ||
+ | |||
+ | case $sPrefix.'phone': | ||
+ | case $sPrefix.'phone_edit': | ||
+ | $oObject->Phone(); | ||
+ | break; | ||
+ | |||
+ | case $sPrefix.'change_rating': | ||
+ | $oObject->ChangeRating(); | ||
+ | break; | ||
+ | |||
+ | default: | ||
+ | $oObject->Index(); | ||
+ | break; | ||
+ | } | ||
+ | ?> | ||
+ | </pre> | ||
+ | |||
+ | В данном примере описана связь страниц: | ||
+ | * http://irbis.mstarproject.com/pages/customer_profile | ||
+ | * http://irbis.mstarproject.com/pages/customer_phone | ||
+ | * http://irbis.mstarproject.com/pages/customer_phone_edit | ||
+ | * http://irbis.mstarproject.com/pages/customer_change_rating | ||
+ | |||
+ | с обработчиками в классе Customer (/class/module/Customer.php) | ||
+ | |||
== Каталог template == | == Каталог template == | ||
Версия 16:01, 21 ноября 2016
Содержание
- 1 Структура каталогов
- 1.1 Каталог cache
- 1.2 Каталог class
- 1.3 Каталог cron
- 1.4 Каталог css
- 1.5 Каталог image
- 1.6 Каталог imgbank
- 1.7 Каталог include
- 1.8 Каталог js
- 1.9 Каталог lib
- 1.10 Каталог libp
- 1.11 Каталог mpanel
- 1.12 Каталог single
- 1.13 Каталог spec
- 1.14 Каталог template
- 1.15 Каталог verstka
- 1.16 Файлы главной директории
- 2 11
Структура каталогов
cache | Файловый кеш |
class | Основные классы обработчики |
cron | Скрипты создания backup |
css | Файлы css дизайна |
image | Картинки дизайна |
imgbank | Файлы выгрузок/загрузок |
include | Файлы SQL запросов |
js | Файлы js дизайна |
lib | Библиотеки php, общие для всех проектов |
libp | Библиотеки js, общие для всех проектов |
mpanel | Админ панель MPanel |
single | Дополнительные библиотеки подключаемые только в текущем проекте |
spec | Связь ссылок на сайте с обработчиками (Роутинг) |
template | Шаблоны внешнего вида(подключенный дизайн) |
verstka | Исходные файлы верстки |
Каталог cache
Файловый кеш, может использоваться для кеширования главного меню, некоторых данных TecDoc и других данных с низкой частотой обновления, но долгим по времени выполнения запросом. Файлы разбиваются по директориям. Названия файлов и директорий указывается программистом в исходном коде. Файлы содержат сериализованные данные.
Пример использования:
$sCacheName='название_файла_кеша'; $sCacheDir='название_директории_кеша' if(!($aBrands=FileCache::GetValue($sCacheDir, $sCacheName))) { $aBrands=Db::GetAll($sSql); FileCache::SetValue($sCacheDir, $sCacheName, $aBrands); }
В данном примере мы получаем массив $aBrands из файлового кеша, а в случае отсутствия необходимого кеша - выполняется запрос получения $aBrands из базы данных и сохранение данных в кеш.
Каталог class
Каталог cron
Содержит папку "local" в которой размещены файлы:
- backup.sh - скрипт для сохранения дампа основной базы. Скрипт выполняется каждые сутки.
- backup_weekly.sh - скрипт для сохранения таблиц cross и cross_stop. Скрипт выполняется 1 раз в неделю.
Каталог css
Содержит файлы css проекта, подключенные в данном дизайне. Также может содержать css от дополнительных библиотек.
Каталог image
Содержит изображения использующиеся в дизайне сайта.
Каталог imgbank
Каталог include
Каталог js
Содержит js скрипты использующиеся на сайте, в том числе и дополнительные библиотеки, например:
- jquery
- jquery.maskedinput
- jquery.validate
Каталог lib
Содержит библиотеки php подключенные к проекту, например:
- adodb - работа с базой
- PHPExcel - работа с xls/xlsx файлами
- smarty - работа с шаблонизатором smarty
- sphinx - релевантный поиск
- и другие
Данные библиотеки являются общими для всех проектов!
Каталог libp
Содержит библиотеки в основном js подключенные к проекту, например:
- FCKeditor - визуальный html редактор
- xajax - библиотека для работы с ajax
- popcalendar - всплывающий элемент выбора даты
- и другие
Данные библиотеки являются общими для всех проектов!
Каталог mpanel
Каталог single
Каталог для подключения любых библиотек php/js использующихся индивидуально на данном проекте.
Каталог spec
Содержит файлы для связи ссылок на сайте и обработчиков в папке class. Основные файлы директории:
- buh.php -
- call_me.php -
- cart.php -
- catalog.php -
- catalog_manager.php -
- contact_form.php -
- cron.php -
- customer.php -
- dashboard.php -
- finance.php -
- garage_manager.php -
- home.php -
- manager.php -
- manager_cart.php -
- manager_invoice_customer.php -
- message.php -
- news.php -
- own_auto.php -
- payment.php -
- payment_declaration.php -
- payment_declaration_manager.php -
- payment_report.php -
- payment_report_manager.php -
- price.php -
- price_ftp.php -
- price_group.php -
- price_profile.php -
- price_queue.php -
- price_search_log.php -
- print_content.php -
- public_provider.php -
- rubricator.php -
- search.php -
- store.php -
- test.php -
- user.php -
- vin_request.php -
Все файлы в данной директории должны иметь название в нижнем регистре, латиницей, для разделения слов допускается только знак нижнего подчеркивания "_".
Пример файла:
<?php $sPrefix='customer_'; $oObject=new Customer(); switch (Base::$aRequest['action']) { case $sPrefix.'profile': $oObject->Profile(); break; case $sPrefix.'phone': case $sPrefix.'phone_edit': $oObject->Phone(); break; case $sPrefix.'change_rating': $oObject->ChangeRating(); break; default: $oObject->Index(); break; } ?>
В данном примере описана связь страниц:
- http://irbis.mstarproject.com/pages/customer_profile
- http://irbis.mstarproject.com/pages/customer_phone
- http://irbis.mstarproject.com/pages/customer_phone_edit
- http://irbis.mstarproject.com/pages/customer_change_rating
с обработчиками в классе Customer (/class/module/Customer.php)
Каталог template
Каталог verstka
Данный каталог содержит исходные файлы верстки сайта. Необходим для сохранения истории верстки.
Файлы главной директории
.htaccess | Настройки WEB сервера и дополнительные параметры перенаправления для ЧПУ страниц |
action_includer.php | Механизм связи ссылок на сайте(spec) и обработчиков(class) |
connect.php | Настройки подключения к базе данных, TecDoc, настройки языка и cookies |
connect_sample.php | Пример файла подключения |
favicon.ico | Иконка сайта для браузера |
index.php | Главный исполнительный файл. |
init.php | Инициализация библиотек и ядра. |
xajax_request_parser.php | Обработчик xajax |
11
aaa
22
bbb
32
ccc