Создание приложения Yii2

Загружаем yii2 в папку проекта

  1. Заходим в консоль
  2. Создаем каталог проэкта в необходимом месте
  3. Загружаем в папку файл composer
    php -r "readfile('https://getcomposer.org/installer');" | php
  4. Устанавливаем yii2
    Если запускаем на Windows:
    php composer.phar create-project --prefer-dist yiisoft/yii2-app-basic nameproject
    или в Linux:
    composer create-project --prefer-dist yiisoft/yii2-app-basic nameproject

Настройка ЧПУ

  1. Нужно добавить в файлы config/console.php и config/web.php секцию компонента urlManager:
  2. 'components' => [
       /*какие-то другие секции*/
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                '<_c:[\w\-]+>/' => '<_c>/view',
                '<_c:[\w\-]+>' => '<_c>/index',
                '<_c:[\w\-]+>/<_a:[\w\-]+>/' => '<_c>/<_a>',
            ],
        ],
        /*какие-то другие секции*/
    ],
  3. Далее добавляем в web/.htaccess следующий код, если файла нет создаем его:
  4. Order Allow,Deny
    Allow from all
    AddDefaultCharset utf-8
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php

Настройка проекта(используем IDE phpstorm)

  1. Заходим
    File → Settings
  2. Выделим лишние папку и исключим их, пометив как Excluded,
    vendor ,runtime, web/assets
  3. Выделим тестовую папку и пометив как Tests
  4. Добавим папку vendor для постановки классов и т.п. заходим
    Settings → Lnaguages and Frameworks → PHP → Include Path → +
    Сканер автоподстановки найдёт все файлы фреймворка, классы будут также находиться через Ctrl+N. Если нужно произвести поиск внутри папки vendor, станьте на неё мышкой и нажмите Ctrl+Shift+F для поиска в ней. Теперь не будет проблем с заменой строк посредством Ctrl+Shift+R, так как автозамена больше не затронет файлы фреймворка.

Создание модуля

  1. Для начала, создадим в корневом каталоге приложения директорию
    modules
  2. Т.к. у нас уже настроены ЧПУ мы можем воспользоваться генератором кода через урл
    localhost/gii
  3. Далее нажимаем кнопку
    Module Generator
  4. Настраивам параметры модуля
    • Вводим название класса модуля, например создадим модульс именем "user", тогда строка модуля калсса будет
      app\modules\user\Module
    • Вводим id модуля, этот пункт может проставиться автозаполнением, и будет таким
      user
    • Нажимаем на кнопку
      Preview
    • Нажимаем на кнопку
      Generate
      Модуль генератор Yii2
    • После создания модуля его нужно подключить в конфигурационный файл приложения, тоесть в
      config/web.php
      нужно добавить код
      'modules' => [ 'user' => [ 'class' => 'app\modules\user\Module', ], ],