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"
]
},