我有这个MongoDB文档:MyBundle/Document/Image
。
它代表图像,路径,宽度和其他属性。
现在我需要操作图像,我认为除了我选择的图像处理库之外,我应该有一个特定于应用程序的类来处理这个问题。我认为做这样的事情会很好:
$image_manager = new ImageManager;
$image = $image_repository->find($id);
$thumbnail = $image_manager->createThumbnail($image);
现在,我不确定我是否希望我的ImageManager类也处理MongoDB查询,比如自定义存储库,所以我想我不这样做。那我应该在哪里放置我的ImageManager类?
你觉得让它处理这两种任务是不对的吗? (例如:createThumbnail
和findAllImagesWithoutThumbnail
)
答案 0 :(得分:1)
我的应用中有Service
个文件夹,其中包含所有服务,例如:
UserService
User\AvatarService
OrganizationService
当然,您可以使用Manager
代替Service
,但这个想法是一样的。
大多数情况下,我的服务都有以下方法:
find($id)
save(Class $class)
delete(Class $class)
,某些服务还有其他方法。例如,User\AvatarService
使用upload()
方法处理上传头像文件。
答案 1 :(得分:0)
我在symfony2中使用WideImage。我只是把它放在供应商中并将其添加到AppKernel.php和autoload。它在项目范围内可见。