2013-02-08 38 views
0

就是這樣。由於我的行爲,我創建了行爲並且只有一些類被添加到use的頭部。在推動行爲中添加類到使用部分

E.g.行爲將創建名爲acme的新表。 Propel生成器添加到我的Foo類(app/propel/AppPropelModel/AcmeBundle/om/BaseFoo.php)AcmeBehaviorAcmeBehaviorQuery,但不是AcmeBehaviorPeer

我不想在行爲建立類中弄亂整個類名AcmeBehaviorObjectBuilderModifier.php 我怎樣才能讓Propel將use AppPropelModel\HornsAndHooves\AcmeBundle\AcmeBehaviorPeer也加到目標類文件中呢?

+0

很抱歉,但我不知道我理解你正在試圖做什麼(或者什麼ISN」不工作)。你是說你有一個創建表的行爲,但沒有生成'* Peer'類?這是唯一的問題嗎? – jakerella

+0

不,生成類。它不被寫入'uses'塊。 – kirilloid

回答

1

如果您使用某個類並希望將其添加到「使用」塊中,則必須在構建器中聲明該類。只需用完整的命名空間調用declareClass在這個函數:

class MyBehavior extends Behavior { 
    ... 

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

這將導致:

use MyNamespace\MyBundle\Subfolder; 

abstract class MyModelClass extends ...