0

而已。我创建了行为,并且由于我的行为,只有它的一些类被添加到 head 中use

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

我不想在行为构建类中弄乱完整的类名AcmeBehaviorObjectBuilderModifier.php 如何让 Propel 也添加use AppPropelModel\HornsAndHooves\AcmeBundle\AcmeBehaviorPeer到目标类文件中?

4

1 回答 1

1

如果您使用一个类并希望将其添加到“使用”块中,则必须在构建器中声明该类。只需在此函数中使用您的完整命名空间调用 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 回答