cookyii/project это каркас приложения Yii 2
оптимизированный под средние и большие проекты, которые состоят из нескольких приложений
(как правило - админа + публичный сайт, но могут добавляться и другие виды.
Например rest, erp, crm, мобильное приложение и тд).
Каркас включает базовые функции для работы cms, а также предоставляет инфраструктуру для работы готовых модулей, реализующий ту или иную функциональность.
На данный момент в шаблоне представлено три приложения - frontend, backend и crm.
Это всего лишь пример набора приложений.
Можно смело удалять любые приложения, либо создавать свои собственные.
conf.d/ файлы конфигурации для окружения (например nginx или rabbitmq)
common/ общие компоненты для всех приложений
frontend-app/ код приложения frontend
frontend-assets/ ресурсы для приложения frontend
frontend-modules/ модули приложения frontend
backend-app/ код приложения backend
backend-assets/ ресурсы для приложения backend
backend-modules/ модули приложения backend
crm-app/ код приложения crm
crm-assets/ ресурсы для приложения crm
crm-modules/ модули приложения crm
messages/ переводы языковых строк для всех приложений
resources/ модели ActiveRecord для всех приложений
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 или выше
- NodeJS 0.10 или выше
- Composer
- npm
-
В консоли выполните команду
composer create-project --prefer-dist --stability=dev cookyii/project new-project
-
Перейдите в директорию
new-projectи запустите процес инсталяции с помощью команды./build install. Скрипт задаст несколько вопросов и выполнит следующие действия:- Создаст новую схему в базе данных (
install/database) - Создаст нового пользователя в базе данных и даст ему права на доступ к новой схеме (
install/mysqlUserName) - Скопирует файл
.env.dist.phpв.env.phpи заполнит некоторые поля автоматически.
- Создаст новую схему в базе данных (
-
Проверьте, что в созданном файле конфигурации
.env.phpзаполнены все необходимые поля. -
(опционально) Скопируйте файлы
~/*-app/.credentials.dist.phpв~/*-app/.credentials.php(в директориях приложений), заполнить необходимые данные. -
Соберите билд с помощью команды
./build(для продакшена./build prod). -
Создайте нового пользователя - администратора с помощью команды
./yii account/add -
(опционально) Если Вам не нужны приложения
crmиbackend, Вы можете удалить директорииcrm-app,crm-assets,crm-modules,backend-app,backend-assetsиbackend-modules. Аналогично, если Вам нужно какое-то дополнительное приложение (напримерrest), Вы можете создать схожие директории. -
Настройте виртуальные хосты для Ваших приложений, например:
new-project.com -> .../frontend-app/web backend.new-project.com -> .../backend-app/web crm.new-project.com -> .../crm-app/web
Вот и всё, восемь простых шагов =)
После всех этих манипуляций, Ваш новый сайт должен быть доступен по адресу new-project.com.
- Обновите кодовую базу проекта из Вашего репозитория (например
git pull). - Соберите билд с помощью команды
./build(для продакшена./build prod).
Вы можете изменять любые настройки в директориях
./common/config/, ./frontend-app/config/, ./backend-app/config/, ./crm-app/config/, ./console-app/config/
и в конфигурации билда проекта.
./build install- запустить процесс установки../buildили./build dev- собрать проект для dev площадки../build demo- собрать проект для demo площадки../build prod- собрать проект для продакшена.
Дополнительно доступны следующие команды (они выполняются в рамках set/* команд, и сюда добавлены только для справки):
./build map- показать список всех команд../build self/update- обновить библиотеку сборкиbuild.phar../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для конкретного приложения.