Прочитав несколько других вопросов, похоже, что класс сущностей не рекомендуется использовать репозиторий. Итак, учитывая эти репозитории:
class RestaurantRepository {
public function findAll() { ... }
}
class ReviewRepository {
public function findByRestaurant(Restaurant $restaurant) { ... }
}
Я не должен делать это в своем классе:
class Restaurant {
public function getReviews() {
// ...
return $restaurantRepository->findByRestaurant($this);
}
}
Но скажем, у меня есть этот контроллер, который выдает список ресторанов в представление:
class IndexController {
public function indexAction() {
$restaurants = $restaurantRepository->findAll();
$this->view->restaurants = $restaurants;
}
}
Что такое «хорошая практика» для получения отзывов о каждом ресторане в сценарии просмотра? Поэтому я не могу сделать это:
foreach ($this->restaurants as $restaurant) {
$reviews = $restaurant->getReviews();
}
И я предполагаю, что внедрение ReviewRepository в представление - это не то, что мы можем назвать "лучшей практикой"...
Приветствуются любые комментарии!