Всем привет! Пишу модуль Cats в Zend Framework 2, который будет позволять редактировать и показывать информацию кошках.
В качестве ORM использую Doctrine.
У каждой кошки есть связь id кошки->id отца, id кошки->id матери.
Есть метод для построения родословной:
private function createPedigreeArray($config){}
Есть также два метода
private function getFatherInfo(){}
private function getMotherInfo(){}
Эти методы являются вспомогательными для метода createPedigreeArray
все эти 3 метода прописаны в коде контроллера, используют для формирования массивов
$objectManager = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
и вытягивают данные из разных Entity.
Все работает.В дальнейшем я бы хотел использовать функцию createPedigreeArray() для формирования родословной в другом контроллере.
Например у меня будет окат(как помет только у кошек), в таблице оката будет указано два идентификатора родителей и я хотел бы пользоваться этой же функцией createPedigreeArray() просто добавив в нее одно условие.
Но формирование родословной оката будет происходить точно в другом контроллере, если не в другом модуле.
Каким способом лучше всего воспользоваться, чтобы в дальнейшем добиться желаемого результата?
Еще интересует, следует ли вообще писать в контроллере свои методы, отличные от action, но которые будут вызываться только в контексте action данного контроллера или их также лучше выносить? Если выносить, то есть ли лучшая практика для этого?
В ZF2 я новичок, активно его изучаю и он мне ооочень нравится.
Листая мануал понял, что можно написать свой controller plugin, который можно будет вызывать из разных контроллеров.
Буду рад любому совету. Заранее спасибо!