2012-06-22 47 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

相关问题