Laravel обычай перегиба

Я хочу добавить собственный перегиб в Laravel. В Rails это было не так сложно сделать, но я не могу найти ответ, как это сделать в Laravel.

Как мне добавить свой собственный перегиб в Laravel?

3 ответа

Решение

Возможно делать:

Illuminate\Support\Pluralizer::$irregular['subscribe'] = 'subscribes';

Лучшее место для загрузки это поставщик услуг:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Pluralizer;

class PluralizationServiceProvider extends ServiceProvider {

    public function register()
    {
        Pluralizer::$irregular['octopus'] = 'octopi';
    }

}

И загрузите его в ваш app/config/app.php:

'App\Providers\PluralizationServiceProvider', 

Это больше не работает для текущего Laravel. Теперь вы должны написать:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Doctrine\Common\Inflector\Inflector;

class PluralizationServiceProvider extends ServiceProvider {

    public function register()
    {
        Inflector::rules('plural', ['irregular' => ['octopus' => 'octopi']]);
    }

}

Также необходимо добавить папку провайдеров в автозагрузку вашего композитора.

"autoload": {
    "classmap": [
        ...
        "app/providers"
    ]
},
Другие вопросы по тегам