【发布时间】:2014-09-03 13:55:07
【问题描述】:
我想为 Laravel 添加一个自定义变形。在 Rails 中,这并不难做到,但我似乎找不到如何在 Laravel 中做到这一点的答案。
如何将我自己的变形添加到 Laravel?
【问题讨论】:
标签: php laravel inflection
我想为 Laravel 添加一个自定义变形。在 Rails 中,这并不难做到,但我似乎找不到如何在 Laravel 中做到这一点的答案。
如何将我自己的变形添加到 Laravel?
【问题讨论】:
标签: php laravel inflection
大概是这样:
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"
]
},
【讨论】: