cookyii/project
это каркас приложения Yii 2
оптимизированный под горизонтальное масштабирование приложения.
Каркас включает базовые функции для работы cms, а также предоставляет инфраструктуру для работы готовых модулей, реализующий ту или иную функциональность.
На данный момент в шаблоне представлено три приложения - frontend
, backend
и crm
.
Это всего лишь пример набоа приложений.
Можно смело удалять любые приложения, либо создавать свои собственные.
conf.d/ файлы конфигурации для окружения (например nginx или rabbitmq)
common/ общие компоненты для всех приложений
frontend-app/ общий код приложения frontend
frontend-assets/ assets для приложения frontend
frontend-modules/ модули приложения frontend
backend-app/ общий код приложения backend
backend-assets/ assets для приложения backend
backend-modules/ модули приложения backend
crm-app/ общий код приложения crm
crm-assets/ assets для приложения crm
crm-modules/ модули приложения crm
messages/ переводы приложений для всех приложений
resources/ общие ресурсы (модели) для всех приложений
vendor/ пакеты сторонних разработчиков
frontend-assets/ исходники ресурсов, которые будут опубликованны в публичной части приложения
frontend-app/
assets/ ресурсы для внешнего вида приложения
components/ общие компоненты приложения
config/ конфигурация приложения
controllers/ базовые контроллеры приложения
tests/ автоматические тесты приложения
views/ общие представления (view) прилоения
web/ публичная часть приложения, доступная из веба
widgets/ общие виджеты приложения
frontend-modules/
ModuleName/
assets/ ресурсы для внешнего вида модуля
commands/ контроллеры команды для выполнения в терминале (cli)
components/ компоненты модуля
controllers/ контроллеры модуля
views/ представления (view) модуля
widgets/ виджеты модуля
Минимальным требованием для работы этого каркаса является наличие PHP 5.4.0 или выше.
Для начала необходимо установить nodejs
, npm
и gulp
.
Если у Вас не установлен Composer, вы должны установить его. Информацию об этом Вы можете получить на сайте getcomposer.org.
Установить этот шаблон проекта Вы можете выполнив следующую команду:
composer global require "fxp/composer-asset-plugin:~1.1.0"
composer create-project --prefer-dist --stability=dev cookyii/project new-project
Далее Вам следует настроить виртуальные хосты Вашего Web сервера на следующие директории:
www.new-project.com -> .../frontend-app/web
backend.new-project.com -> .../backend-app/web
crm.new-project.com -> .../crm-app/web
- Скопировать файл
.env.dist.php
в.env.php
(в базовой директории), заполнить необходимые данные. - Скопировать файлы
.credentials.dist.php
в.credentials.php
(в директориях приложений), заполнить необходимые данные. - Собрать билд с помощью команды
./build
(для продакшена./build env/prod
).
Вы можете изменять любые настройки в директориях ./common/config/
, ./frontend-app/config/
, ./backend-app/config/
, ./crm-app/config/
и в конфигурации билда проекта.
./build
или./build env/dev
- собрать проект для dev площадки../build env/demo
- собрать проект для demo площадки../build env/production
- собрать проект для продакшена.
Дополнительно доступны следующие команды (они выполняются в рамках set/*
команд, и сюда добавлены только для справки):
./build map
- показать список всех команд../build clear
- удалить все временные файлы и логи во всех приложениях../build clear/*
- удалить все временные файлы и логи в конкретном приложении../build composer
- установитьcomposer
зависимости изcomposer.lock
../build composer/update
- скачать новые версииcomposer
зависимостей и обновитьcomposer.lock
../build composer/install
- скачать новые версииcomposer
зафиксированные вcomposer.lock
../build composer/install-prod
- скачать новые версииcomposer
зафиксированные вcomposer.lock
безrequire-dev
../build composer/selfupdate
- обновитьcomposer
../build composer/update-fxp
- обновить плагинfxp/composer-asset-plugin
../build npm/install
- установить зависимостиnpm
../build npm/update
- обновить зависимостиnpm
../build bower/install
- установить зависимостиbower
../build bower/update
- обновить зависимостиbower
../build migrate
- выполнить все новые миграции для всех приложений../build migrate/*
- выполнить все новые миграции для конкретного приложения../build rbac
- обновить правилаrbac
для всех приложений../build rbac/*
- обновить правилаrbac
для конкретного приложения../build less
- скомпилироватьless
для всех приложений../build less/*
- скомпилироватьless
для конкретного приложения.