在Propel行为中添加Class into uses部分

时间:2013-02-08 08:54:48

标签: propel behavior symfony-2.0

就是这样。我创建了行为,由于我的行为,只有一些类被添加到use的头部。

E.g。 behavior创建名为acme的新表。 Propel生成器添加到我的Foo类(app / propel / AppPropelModel / AcmeBundle / om / BaseFoo.php)AcmeBehaviorAcmeBehaviorQuery,但不是AcmeBehaviorPeer

我不想在行为构建类AcmeBehaviorObjectBuilderModifier.php中弄乱完整的类名 我怎样才能使Propel将use AppPropelModel\HornsAndHooves\AcmeBundle\AcmeBehaviorPeer添加到目标类文件中?

1 个答案:

答案 0 :(得分:1)

如果您使用类并希望将其添加到“use”块,则必须在构建器中声明该类。只需使用完整的命名空间调用此函数中的declareClass:

class MyBehavior extends Behavior {
    ...

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

这将导致:

use MyNamespace\MyBundle\Subfolder;

abstract class MyModelClass extends ...