1

我对整个MVC概念有点陌生,因为我最近才开始使用CakePHP框架开发一个网站。因此,我转向您询问如何以最佳实践方式实现以下目标。

我希望能够在一个目录中放置一些图片,然后扫描该目录中的所有文件名。这些文件名应该随后被传递到任意视图,然后循环遍历所有文件名,img为它们制作标签。

如果这可以以一般方式完成,那就太好了,这样我就可以将代码重用于相同的任务,但目录名称不同。

我已经尝试过以下两种方法。尽管如此,出于某种原因,这些都不是最好的方法。

  1. $useTable=false.
  2. 创建一个普通类并将其作为供应商导入。

实现我上面描述的最佳方法什么?

4

3 回答 3

1

我认为您最初的想法是更好的想法,使用模型来遍历/读取/写入目录。将文件结构视为您的数据源。您可以使用 $this->data 将目录名传递给模型,然后让它使用File 类来检索您需要的内容。这将使其可跨控制器移植(使用loadModel()

稍后,如果您将图像路径移动到数据库中,则只需重新编写模型即可将其考虑在内。

于 2009-08-03T12:28:14.783 回答
0

我之前做过以下事情:创建一个例如 ImageManager 类并将其作为 IImageManager 传递给您的例如 ImageController 的构造函数,而不是传递存储库。然后 ImageManager 可以完成您提到的所有工作。

编辑:我是在 .net mvc 中做到的,并且没有使用 CakePHP 的经验,但我想有一个地方可以将 IImageManager 的具体实现注册为 ImageManager,这样框架就会知道将什么传递给控制器​​的构造函数

于 2009-08-03T09:33:50.113 回答
0

我会为此目的创建一个助手。

编辑:对于文件系统的拖网,请使用Folder助手中的类。

于 2009-08-03T09:42:13.883 回答