malmo / engine
Malmo Engine on the Yii2
dev-master
2014-12-10 17:10 UTC
Requires
- php: >=5.4.0
- ext-imagick: *
- danielstjules/stringy: dev-master
- guzzlehttp/guzzle: ~5.0
- phpoffice/phpexcel: dev-develop
- sergebezborodov/elog2: master
- sergebezborodov/nested-set-behavior-2: dev-master
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap: dev-master
- yiisoft/yii2-jui: *
- yiisoft/yii2-swiftmailer: *
Requires (Dev)
This package is auto-updated.
Last update: 2025-04-09 15:19:37 UTC
README
Требования:
- PHP >= 5.5
- MySQL >= 5.5
- Sphinx >= 2.1.2
- Composer
- PDO MySQL
GUIDELINES:
Развертывание
- composer create-project --prefer-dist --stability=dev malmo/engine path/to/you/project/project_name
- настройть два сайта, например, malmo-engine.ll и panel.malmo-engine.ll и настроить их webroot в apps/frontend/web и apps/backend/web соотвественно.
- создать домен storage.malmo-engine.ll и настроить его на папку apps/storage.
- из папки etc/default скопировать все *.php файлы в папку etc/
- создать базы project_name, project_name-test, в конфигах проверить настройки подключения к базе
(в разработке)
- Для тестов настроить два сайта, test.malmo-engine.ll и test.panel.malmo-engine.ll и настроить их webroot в apps/frontend/web и apps/backend/web соотвественно. в качестве index файла указать index-test.php
- выполнить команду ./malmo selfcheck
- проверить тесты ./codeception run все должно отработать
База данных:
- все названия в нижнем регистре, разделитель _
- название таблиц в единственном числе: job, site, region
- первичный ключ всегда id
- внешние ключи назваются по маске tablename_id, т.е. category_id, region_id, etc
- если таблица связующая, например для MANY_TO_MANY, то она все равно должна содержать первичный ключ id
- поля для подсчета каких либо значений должны начинаться с count_, название значения должно быть в единственном числе
- BOOL поля должны начиначаться либо с is или has
- названия индексов начинаются с idx_
- в таблицах где есть slug по названиям для построения URL, на поле slug должен быть создан HASH индекс
- индексы полей по которым будет только поиск = & != должны быть типа HASH
- названия таблиц с "сырыми" данными оканчиваются на _raw
- названия таблиц с аггрегированными данными заканчиваются на _agg
- в большинстве таблиц должны быть поля с датами, располагаются в самом конце, после них не должно быть никаких других полей
- поле date_created NOT NULL DEFAULT CURRENT_TIMESTAMP
- все остальные поля дат DEFAULT NULL
Код стандарт
- основа Zend, кроме именования классов
- во views используется сокращенная запись <?=$var?> без пробелов и ;
- если функция возвращает массив id => title то название должно начинаться на get заканчиватся на List, например getCategoriesList()