2012-06-22 61 views
0

我在zend_framework/php項目中使用了propel運行時v1.5.4及其相關的propel_generator,因爲兩年沒有任何問題。Propel_Generator - 在類映射文件中包含路徑不正確

昨天我已經通過pear更新了propel_generator到v1.6.5,運行時庫更新到了v1.6.6。第一內建proccess與新生成後我與產生classmap- [項目] -conf.php文件問題:

舊發電機(v1.5.4)

... 

     'AutocompleteQuery' => 'AutocompleteQuery.php', 
     'AutocompleteTableMap' => 'map/AutocompleteTableMap.php', 
     'BaseAclAssertion' => 'om/BaseAclAssertion.php' 

... 

新生成器(V1 .6.5)

... 

     'AutocompleteQuery' => 'AutocompleteQuery.php', 
     'AutocompleteTableMap' => '/map/AutocompleteTableMap.php', 
     'BaseAclAssertion' => '/om/BaseAclAssertion.php' 

... 

新生成器在'map'和'om'路徑之前添加一個前導斜槓。所以propel自動加載器找不到類文件。

是否有任何配置選項或生成器模板,我可以改變這個?

謝謝。

回答

3

看起來targetPackage構建屬性在您的配置中爲空。默認情況下,行走使用項目名稱爲目標包,讓您永遠的類之前有一個目錄:

// ... 
    'AutocompleteQuery' => 'project/AutocompleteQuery.php', 
    'AutocompleteTableMap' => 'project/map/AutocompleteTableMap.php', 
    'BaseAclAssertion'  => 'project/om/BaseAclAssertion.php' 

我固定的Propel要取消該限制,這樣就會產生一個有效的包路徑。我在這裏討論包,因爲包被用來確定在哪裏寫文件。

文檔來了解軟件包中的Propel: http://www.propelorm.org/cookbook/multi-component-data-model.html#understanding_packages

修正了承諾: https://github.com/propelorm/Propel/commit/b03569a802471b86e6e52287974de17f836c9baa

+0

非常感謝您! – PropelProbMaster

+0

@PropelProbMaster如果答案解決了您的問題,請不要忘記[接受答案](http://meta.stackexchange.com/a/5235/182741)。 – j0k

相關問題