malmo/engine

Malmo Engine on the Yii2

dev-master 2014-12-10 17:10 UTC

This package is auto-updated.

Last update: 2024-04-09 13:11:21 UTC


README

Требования:

  • PHP >= 5.5
  • MySQL >= 5.5
  • Sphinx >= 2.1.2
  • Composer
  • PDO MySQL

GUIDELINES:

Развертывание

  1. composer create-project --prefer-dist --stability=dev malmo/engine path/to/you/project/project_name
  2. настройть два сайта, например, malmo-engine.ll и panel.malmo-engine.ll и настроить их webroot в apps/frontend/web и apps/backend/web соотвественно.
  3. создать домен storage.malmo-engine.ll и настроить его на папку apps/storage.
  4. из папки etc/default скопировать все *.php файлы в папку etc/
  5. создать базы project_name, project_name-test, в конфигах проверить настройки подключения к базе

(в разработке)

  1. Для тестов настроить два сайта, test.malmo-engine.ll и test.panel.malmo-engine.ll и настроить их webroot в apps/frontend/web и apps/backend/web соотвественно. в качестве index файла указать index-test.php
  2. выполнить команду ./malmo selfcheck
  3. проверить тесты ./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()