Проект для демонстрации нескольких расширений:
Клонируйте репозиторий себе на компьютер или выполните команду
composer create-project --prefer-dist grigor/yii2-rest-demo projectName
За тем перейдите в папку проекта
cd projectName
Инициализируйте одно из окружений выполнив команду
php init
Выберите 0 или 1 где 0 - девелоперское окружение и 1 - продакшен.
Создайте базу данных и настройте коннект в файле common/config/main-local.php
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=your_database',
'username' => 'root',
'password' => 'secret',
'charset' => 'utf8',
],
...
],
];
Выполните миграции
php yii migrate
php yii migrate --migrationPath=@yii/rbac/migrations
php yii migrate --migrationPath=@grigor/blog/etc/migrations
php yii migrate --migrationPath=@grigor/userManagement/etc/migrations
php yii migrate --migrationPath=@grigor/signup/etc/migrations
Направьте домены на папки
api/web
backend/web
В папке api/controllers вы найдете конфиг http клиента phpstorm можно поиграться. Открыт один ресурс остальные требуют авторизации OAuth 2.0 см. конфиг.
Для примера я добавил модуль регистрации КОТОРЫЙ В АДМИНКЕ НЕ НУЖЕН, через него можно удобно зарегаться в системе.
В планах покрыть тестами и дополнить инфраструктуру базовыми объектами: http делегатом для контекстов, консольным генератором контекстов и модулей (базовые фалы и структура каталогов). Следите за yii2-project-library
Если вы пользователь laradock и хотите сопрячь два хоста, то вам следует перейти в корень laradock и изменить файл docker-compose.yml, а именно изменить настройки своего сервера добавив алиасы в разделе нетворкс.
Измененные настройки на примере Nginx
### NGINX Server #########################################
nginx:
build:
context: ./nginx
args:
- CHANGE_SOURCE=${CHANGE_SOURCE}
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- http_proxy
- https_proxy
- no_proxy
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443"
- "${VARNISH_BACKEND_PORT}:81"
depends_on:
- php-fpm
networks:
frontend:
aliases:
- вашдомен.ru
backend:
aliases:
- вашдомен.ru
За-тем снова сбилдить контейнеры php-fpm и workspace выполнив команду:
docker-compose build --no-cache php-fpm workspace
Тестировать
Запуск приложения
composer serv
Запуск тестов api
composer api