0

それでおしまい。ビヘイビアーを作成しましたが、ビヘイビアーが原因で、そのクラスの一部のみが head に追加されましたuse

たとえば、動作は という名前の新しいテーブルを作成しますacme。Propel ジェネレーターは私のFooクラス (app/propel/AppPropelModel/AcmeBundle/om/BaseFoo.php)AcmeBehaviorに追加されますAcmeBehaviorQueryが、AcmeBehaviorPeer.

動作構築クラスで完全なクラス名をいじりたくないAcmeBehaviorObjectBuilderModifier.php どうすればPropelをuse AppPropelModel\HornsAndHooves\AcmeBundle\AcmeBehaviorPeer目的のクラスファイルにも追加させることができますか?

4

1 に答える 1

1

クラスを使用していて、それを「use」ブロックに追加したい場合は、ビルダーでそのクラスを宣言する必要があります。完全な名前空間を使用して、この関数で declareClass を呼び出すだけです。

class MyBehavior extends Behavior {
    ...

    public function objectMethods($builder)
    {
        $builder->declareClass('MyNamespace\\MyBundle\\Subfolder');
    }
}

これにより、次の結果が得られます。

use MyNamespace\MyBundle\Subfolder;

abstract class MyModelClass extends ...
于 2013-10-01T09:31:17.787 に答える