Как правильно организовать работу с сущностями? Есть две сущности: фотография и альбом. С альбомом может бы связано множество фотографий. Фотография может быть связана только с одним альбомом. У каждого альбома есть своя папка, где хранятся фотографии. Альбом берется из БД, фотографии с базой не связаны. Требуется реализовать удаление сущности фотография. Есть 2 варианта: 1. Альбом удаляет фотографию $album->removePhoto($photo) 2. Фотография удаляет себя из альбома $photo->setAlbum($album); $photo->remove(); Какой вариант правильней? Или оба неправильны?
Оба варианта не являются оптимальными. В данной ситуации более целесообразным будет использование сервисного класса, который будет заниматься удалением фотографии из альбома.
Например:
class PhotoAlbumService { public function removePhotoFromAlbum(Album $album, Photo $photo) { // удаление фотографии из базы данных // удаление фотографии из папки альбома $album->removePhoto($photo); } }
Таким образом, сервисный класс будет отделен от сущностей и будет содержать логику по удалению фотографии из альбома. Это позволит лучше структурировать код и обеспечить более гибкую и расширяемую систему.
Оба варианта не являются оптимальными. В данной ситуации более целесообразным будет использование сервисного класса, который будет заниматься удалением фотографии из альбома.
Например:
class PhotoAlbumService {public function removePhotoFromAlbum(Album $album, Photo $photo) {
// удаление фотографии из базы данных
// удаление фотографии из папки альбома
$album->removePhoto($photo);
}
}
Таким образом, сервисный класс будет отделен от сущностей и будет содержать логику по удалению фотографии из альбома. Это позволит лучше структурировать код и обеспечить более гибкую и расширяемую систему.