Symfony和Doctrine:项目结构惯例

时间:2010-11-23 12:04:36

标签: symfony1 doctrine autoload

我使用symfony的ProjectConfiguration.class.php来配置doctrine的连接:

public function configureDoctrineConnectionCertby(Doctrine_Connection $conn)
{
   $conn->setListener(new MyListner());
}

我应该在symfony项目中定义哪个MyListner类?

2 个答案:

答案 0 :(得分:0)

如果您希望您的侦听器在项目级别可用,请将其放在/ project / lib /文件夹中。如果您只是希望它在模块级别可用,请将它放在/ project / apps / module / lib /文件夹中。

答案 1 :(得分:0)

你应该为所有Doctrine文件制作一个lib/Doctrine(或lib/doctrine/Doctrine - 这就是Symfony在sfDoctrineGuardPlugin中所做的)文件夹。由于Listeners是Doctrine文件而不是Symfony文件,因此您应该遵循 Doctrine 命名约定。在这种情况下,MyListener会进入:

/lib/Doctrine/Record/Listener/MyListener.php

这是“正确”的方法。如果您只是将文件放在/lib/lib/Doctrine中,它当然会有效。