Symfony и Doctrine: соглашение о структуре проекта - PullRequest
0 голосов
/ 23 ноября 2010

Я использую symfony ProjectConfiguration.class.php для настройки соединения доктрины:

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

Где я должен определить класс MyListner в проекте Symfony?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2010

Вы должны создать папку lib/Doctrine (или lib/doctrine/Doctrine - это то, что Symfony делает внутри sfDoctrineGuardPlugin) для всех файлов Doctrine. Поскольку слушатели являются файлами Doctrine, а не файлами Symfony, вы должны соблюдать Doctrine соглашения об именах для них. В этом случае MyListener будет входить:

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

Это «правильный» способ сделать это. Это, конечно, будет работать, если вы просто добавите файлы в /lib или /lib/Doctrine.

0 голосов
/ 23 ноября 2010

Если вы хотите, чтобы ваш слушатель был доступен на уровне проекта, поместите его в папку / project / lib /. Если вы просто хотите, чтобы он был доступен на уровне модулей, поместите его в папку / project / apps / module / lib /.

...