grigor/yii2-rest-demo

Demo project

0.0.6 2021-05-21 21:35 UTC

This package is not auto-updated.

Last update: 2024-03-23 10:28:10 UTC


README

Проект для демонстрации нескольких расширений:

yii2-generator

yii2-rest

Установка

Клонируйте репозиторий себе на компьютер или выполните команду

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