Я новичок в 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?