Additional Settings Yii2 - uniqcle/Yii2 GitHub Wiki

WorkBench Settings via Vagrant

# Connection Name  
yii2  
# Connection Method  
Standard TCP/IP over SSH  
# SSH Hostname
127.0.0.1:2222  
# SSH UserName 
vagrant  
# SSH Key File 
C:\Projects\yii2advanced\www\WSw5U6\puphpet\files\dot\ssh\id_rsa  
# MySQL Hostname
127.0.0.1  
# MySQL Server Port
3306 
# Username 
yii2user 
# Password 
123456 

WorkBench Settings via Docker

yii2-mysql        # Connection Name
Standard (TCP/IP) # Connection Method
127.0.0.1         # Hostname
9513              # Port
mysqluser         # Username
mysqluser         # Password

Настраиваем assetManager в Yii2. Параметр linkAssets

Полезно установить параметр linkAssets в true в компоненте assetManager

return [    
    'components' => [        
        'request' => [
            'cookieValidationKey' => 'jshd3qjaxp',
        ],        
        'assetManager' => [
            'linkAssets' => true,
        ],
        ...

Теперь фреймворк не будет копировать ресурсы в web/assets, а будет создавать символические ссылки. Это немного сэкономит место, а также позволит после обновления композером расширений в папке vendors, не удалять папки в assets, чтобы все русурсы обновились. Чтобы файл в assets обновился, его надо пересоздать, то есть удалить старый, а при открытии сайта в браузере, фреймворк сам скопирует туда обновлённые файлы.

Включение Seo url

Раскомментируем блок urlManager в frontend/config/main.php

...
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
            ],
        ],
...

Apache Config

В папке frontend/web создаем файл .htaccess, чтобы все запросы шли на index.php

RewriteEngine on

    # Если запрашиваемая в URL директория или файл существуют обращаемся к ним напрямую
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Если нет - перенаправляем запрос на index.php
    RewriteRule . index.php

Включаем Debug и Gii

Включаем модуль отладчика на время разработки frontend/config/main-local.php

 $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
         'allowedIPs' => ['*', '::1'],  # Включаем все IP
    ];

или так

...
if (!YII_ENV_TEST) {
    ...
    $config['modules']['debug']['allowedIPs'] = ['*'];
}
...

Проверить frontend\web\index.php

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
...