Laravel定制变形

时间:2014-09-03 13:55:07

标签: php laravel inflection

我想为Laravel添加自定义变形。在Rails中,这并不难做到,但我似乎无法找到如何在Laravel中做到这一点的答案。

如何将自己的变形添加到Laravel?

3 个答案:

答案 0 :(得分:2)

大概可以这样做:

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', 

答案 1 :(得分:0)

还需要将providers文件夹添加到您的composer autoload。

"autoload": {
    "classmap": [
        ...
        "app/providers"
    ]
},

答案 2 :(得分:0)

这对目前的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']]);
    }

}