2014-09-03 87 views
0

我想向Laravel添加自定義變形。在Rails中這並不難,但我似乎無法找到如何在Laravel中完成的答案。Laravel自定義變形

如何將我自己的變形添加到Laravel?

回答

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.php加載:

'App\Providers\PluralizationServiceProvider', 
+0

感謝您的答案到目前爲止!似乎是我在找什麼。你能告訴我什麼是添加這行代碼最好的地方嗎? – Patrick 2014-09-03 14:03:10

+1

時下?在一個多元化服務提供商中,並將其加載到你的app/config/app.php中。 – 2014-09-03 14:05:43

+0

再次感謝代碼示例! – Patrick 2014-09-03 14:08:48

0

還需要將提供者文件夾添加到您的作曲家自動載入。

"autoload": { 
    "classmap": [ 
     ... 
     "app/providers" 
    ] 
}, 
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']]); 
    } 

}