Фотоальбомы в блоге

Сегодня дописал код по размещению на сайте раздела с фотоальбомами. Работа немного сложная, но полезная и интересная, поскольку охватывает разные вопросы в программировании на PHP - стандартная работа с фреймворком Yii (это понятно), работа с загрузкой файлов (в данном случае - изображений) на сайт, работа с файловой системой (создание/удаление файлов и директорий), ну и, конечно, вывод изображений на страницу.





Вкратце опишу логику и используемые расширения.

Отдельный фотоальбом представляет собой галерею изображений, под которую создана модель (таблица в БД) и контроллер в модуле администрирования. Также и под изображения - модель и контроллер. При создании галереи создается каталог, с уникальным именем для хранения изображений и подкаталог, для хранения превьюшек (при удалении галереи, соответственно, удаляются). В созданную галерею добавляются изображения, копируются в каталог галереи, создаются превью и соответствующие записи в таблице БД. При выводе, делается выборка по запрашиваемой галерее, данные компонуются и выводятся к просмотру. Над отображением изображений трудится дополнительный контроллер (сделано с учетом возможных расширений в будущем).

Для работы с объектами файловой системы используется расширение Cfile. Возможно, что на текущий момент это решение избыточно, но расширение простое в обращении, очень мощное и, скорее всего, неоднократно будет использоваться в будущем.

Для загрузки изображений на сайт было перепробовано несколько расширений, в итоге я остановился на EAjaxUpload - простом, понятном и функциональном инструменте (мультизагрузка, драг-энд-дроп, все дела...).

Ну и для вывода изображений на страницу используется jQuery-галерея Gallery View - простая, красивая, функциональная, со множеством настроек (не все еще мною оценены по достоинству).

Вот такой слоеный пирог, ломтик которого можно опробовать на моем блоге в разделе "Фотоломтики".


ОБСУЖДЕНИЕ: