grigor / yii2-rest-demo
Demo project
Requires
- php: >=7.4.0
- filsh/yii2-oauth2-server: ^2.1.1
- grigor/yii2-access-management: dev-master
- grigor/yii2-blog-management: dev-master
- grigor/yii2-project-library: ~0.0.1
- grigor/yii2-rest: ^1.0.2
- grigor/yii2-signup: dev-master
- grigor/yii2-user-management: dev-master
- kartik-v/yii2-editable: dev-master
- kartik-v/yii2-widget-fileinput: @dev
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-imagine: ^2.3
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
- zakurdaev/yii2-editorjs-widget: *
Requires (Dev)
- codeception/codeception: ^4.0
- codeception/module-asserts: ^1.0
- codeception/module-filesystem: ^1.0
- codeception/module-phpbrowser: dev-master
- codeception/module-rest: dev-master
- codeception/module-yii2: ^1.0
- codeception/verify: ~0.5.0 || ~1.1.0
- filsh/yii2-oauth2-server: ^2.1.1
- grigor/yii2-generator: ^1.0.2
- symfony/browser-kit: >=2.7 <=4.2.4
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is not auto-updated.
Last update: 2025-03-22 15:21:53 UTC
README
Проект для демонстрации нескольких расширений:
Установка
Клонируйте репозиторий себе на компьютер или выполните команду
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