Skip to content

Latest commit

 

History

History
71 lines (56 loc) · 3.04 KB

README.md

File metadata and controls

71 lines (56 loc) · 3.04 KB

Автоматический парсинг JSON параметров переданных клиентом

Если необходимо автоматически распарсить JSON переданный от клиента, то самый простой способ это воспользоваться yii\web\JsonParser

В случае, когда необходимо определить парсер только для некоторых контроллеров/экшенов, можно переопределить метод beforeAction следующим образом:

public function beforeAction($action)
{
    \Yii::$app->request->parsers = [
        'application/json' => 'yii\web\JsonParser',
    ];
    return parent::beforeAction($action);
}

Перевод plural сообщения

messages.php

'{n, plural, one{bedroom} few{bedrooms} other{bedrooms}}' => '{n, plural, one{спальня} few{спальни} other{спален}}',

view.php

<?= Yii::$app->i18n->translate(
    'messages',
    '{n, plural, one{bedroom} few{bedrooms} other{bedrooms}}',
    ['n' => $model->bedrooms_count],
    Yii::$app->language
) ?>

Отказ от fxp/composer-asset-plugin в пользу hiqdev/asset-packagist

Устали ждать пока fxp/composer-asset-plugin обновит все зависимости? Решение есть, просто начните использовать asset-packagist.

Установка очень простая, сначала добавьте в ваш composer.json:

"repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
]

Для сохранения обратной совместимости с fxp/composer-asset-plugin в секции extra -> asset-installer-paths отредактируйте пути:

vendor/npm -> vendor/npm-asset
vendor/bower -> vendor/bower-asset

Финальным шагом задайте алиасы в конфигурации вашего приложения:

$config = [
    ...
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    ...
];

Чтобы одновременно поддерживать проекты и с fxp/composer-asset-plugin и с hiqdev/asset-packagist не удаляя глобально fxp/composer-asset-plugin используйте опцию --no-plugins при выполнении команды update/install

Известные проблемы: Первую установку всё же придется провести используя плагин fxp/composer-asset-plugin, т.к. файл vendor/yiisoft/extensions.php не будет создан без плагина. В этом случае перестанут работать алиасы, можно пофиксить указывая путь относительно алиаса @vendor.