【发布时间】:2010-04-05 11:25:13
【问题描述】:
我已经看到并阅读了大量的博客文章和论坛主题,讨论并提供了 PHP 中的数据映射器/模型实现的示例,但我还没有看到任何涉及保存文件/图像的内容。
我目前正在开发一个基于 Zend 框架的项目,我正在模型中进行一些图像处理(正在传递一个文件路径),然后我将它留给映射器以将该文件保存到适当的位置 - 这是常见的做法吗?
但是,您如何处理从传入的图像创建 3 个不同尺寸的图像?目前我有一个setImage($path_to_tmp_name),它检查图像类型,调整大小,然后保存回原始文件名。调用getImagePath() 然后返回数据映射器可以使用的当前文件路径,然后在将其保存到适当的位置后通过调用setImagePath($path) 进行更改,例如“/content/my_images”。这听起来实用吗?
另外,您将如何处理获取该图像的 URL?你认为这是模型应该提供的东西吗?在我看来,该模型应该担心图像的存储位置或最终如何通过浏览器访问它们,因此我倾向于将其放在 ini 文件中,并通过 URL 前缀将 URL 前缀传递给视图控制器。这听起来合理吗?
我正在使用 GD 进行图像处理 - 这与此无关。
更新:我一直想知道是否应该在模型中调整图像大小。该模型可能要求它提供一个“主”图像和一个“拇指”图像,两者都是特定尺寸的。我考虑过在模型中创建一个getImageSpecs() 函数,该函数将返回定义所需大小的内容,然后一个单独的图像处理类可以执行调整大小和(可能在控制器中?)并传递最终路径使用 setImagePaths($images) 之类的东西到模型。
任何想法都非常感谢:)
【问题讨论】:
标签: php image data-modeling datamapper