2010-12-02 5 views
1

デフォルトの文字列正規化(Doctrine_Inflector::urlize() "sluggifier"によって提供)は自分のプロジェクトには適していないため、私自身のアルゴリズムを利用する必要があります。symfony/DoctrineのSluggable Builderへの予想パス

次のように私は私のスキーマを設定します。

MyObject: 
    actAs: 
    Sluggable: 
     fields: [name] 
     builder: array('TextUtility', 'normalize') 
    columns: 
    name: string(255) 

をと(私もアプリのlibフォルダを試してみましたが)、私は私が見つけたいくつかの命令に従って、私のプロジェクトのlibフォルダに私のユーティリティクラスを追加しました私はsymfony doctrine:build --allを実行すると

<?php 
//lib/TextUtility.class.php 

class TextUtility { 
    public static function normalize($str) { 
     /* ... */ 

     return $str; 
    } 
} 
?> 

私は次のエラーで迎えています:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'array('TextUtility', 'normalize')' not found or invalid function name in /symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Template/Listener/Sluggable.php on line 171 
別のフォーラムで

私は間違った場所に自分のユーティリティを置いているだけで、必要なときにはロードされていないと思います。私は間違った場所に置いていますか? Doctrine's documentationは、私が間違ったページを見ていない限り、主題は言及していないようです。 YAMLで

答えて

2

配列は、他の方法で定義されています。

MyObject: 
    actAs: 
    Sluggable: 
     builder: [TextUtility, normalize] 
+0

うわー、これはあるとして明らかに、私はそれを逃した信じることができません。ありがとう! – Dolph

関連する問題