Как обслуживать MVC-вид с путями к изображениям из каталога?
-
10-07-2019 - |
Вопрос
Я в некотором роде новичок во всей концепции MVC , так как я только недавно начал разработку веб-сайта с использованием фреймворка CakePHP . Поэтому я обращаюсь к вам с просьбой о том, как добиться следующего наилучшим образом.
Я хочу иметь возможность разместить несколько изображений в каталоге, который затем сканируется на наличие всех имен файлов в нем. Эти имена файлов должны впоследствии передаваться в произвольное представление, которое затем перебирает все имена файлов, делая из них теги img
.
Было бы неплохо, если бы это можно было сделать в общем виде, чтобы я мог повторно использовать код для той же задачи, но с другим именем каталога.
Я уже попробовал следующие два подхода. Тем не менее, по какой-то причине ни один из них не показался мне лучшим способом .
<Ол> $ useTable = false
. Что является лучшим способом для достижения того, что я описал выше?
Решение
Я думаю, что ваша оригинальная идея лучше, используйте Модель, чтобы пройти / прочитать / написать каталог. Думайте о структуре Файла как о вашем источнике данных. Вы можете передать dirname в модель с данными $ this-> gt; и затем позволить ей использовать класс файлов чтобы получить то, что вам нужно. Это сделает его переносимым между контроллерами (с помощью loadModel () )
В дальнейшем, если вы перемещаете пути к изображениям в БД, вам нужно только переписать модель, чтобы учесть это.
Другие советы
Ранее я сделал следующее: создайте, например, класс ImageManager и передайте его как IImageManager в конструктор вашего, например, ImageController, вместо передачи в хранилище. Затем ImageManager может выполнить всю работу, которую вы упомянули. Р>
РЕДАКТИРОВАТЬ: я сделал это в .net mvc, и у меня нет опыта CakePHP, но я думаю, что есть место, где вы можете зарегистрировать конкретную реализацию IImageManager как ImageManager, чтобы инфраструктура знала, что передать конструктору контроллера р>