Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров

Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров.

Конфигурация nginx для запуска Yii

Правильный конфиг выглядит примерно так:

server {
    server_name yiisite.loc;
    listen 80;

    root /var/www/yiisite;

    location / {
        index index.php index.htm index.html;
        try_files $uri $uri/ @yii;
    }

    location @yii {
        rewrite ^ /index.php last;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param YII_ENVIRONMENT production;
        fastcgi_pass 127.0.0.1:1234;
    }

    location /protected {
        deny all;
        access_log off;
    }

    location ~ /themes/\w+/views {
        deny all;
        access_log off;
    }

    location ~ /\. {
        deny all;
        access_log off;
    }
}

Красивые ссылки в Yii2

Красивые ссылки в Yii2 делаются почти так же, как в первой версии фреймворка.

config/main.php

[
'components' => [
    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
    ],
]

.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Локализация форматирования в Yii

Начиная с Yii 1.1.14, во фреймворке появился класс CLocalizedFormatter.

Этим классом можно заменить компонент format, отвечающий за форматирование вывода в приложении по-умолчанию:

'components' => [
    'format' => ['class' => 'CLocalizedFormatter'],
]

Как это может помочь? Например, теперь можно легко и просто выводить локализованные данные в строках CDetailView и колонках CGridView, явно указывая тип:

'columns' => [
    'createdAt:date:Дата создания',
    'valid:boolean',
    [
        'name' => 'expiresAt',
        'type' => 'datetime',
    ],
]