Я новичок в symfony2, и есть некоторые вещи, которые я не получаю прямо сейчас. В этом случае я хочу отобразить все альбомы, сделанные группой или художником. Если пользователь вошел в систему, я хочу отобразить на той же странице, если один альбом находится в коллекции этого пользователя или нет.Symfony2: лучше всего использовать данные из другого пакета?
У меня разные пучки, такие как «ArtistBundle», «UserBundle», «AlbumBundle» и т. Д. Поскольку информация, связанная с пользователем, не имеет ничего общего с ArtistBundle («разделение проблем»), я хочу получить информацию от UserBundle.
Прямо сейчас я вижу только два способа сделать это:
<?php
namespace Acme/ArtistBundle/Controller;
use Acme/UserBundle/User
public function indexAction()
{
...
$user = new User($userId);
$collectionInfo = $user->checkArtistAlbums($artistId);
...
}
Это решение может работать, но это делает модульные тесты сложнее, так как я не использую инъекции зависимостей (что было бы правильным способом я думаю) ,
Другой возможностью является встраивание контроллера UserBundle в шаблон. Что не может быть сделано, так как мне нужна информация непосредственно на выходе ArtistBundle.
Так что же было бы «лучшей практикой» здесь? Определение службы UserBundle? Как-то настроить ArtistBundle, чтобы объект UserBundle был установлен при построении объекта?
Я не согласен с тем, чтобы все было в одном родовом комплекте. Это нарушает разделение проблем. –