«уменьшает изображение в ширину до 100px и в высоту до 150px, а затем делает crop полученного изображения»
я, может спросонья, но не понял, зачем в данном случае еще и crop?
Я джуниора напрягал делать генерацию превьюшек, причем скрипт должен был отрабатывать только при условии что кешированной картинки нет, он справился за несколько часов под надзором… + его скрипт не деграл пхп без надобности и тем самым разгружал сервер от лишних телодвижений.
Но в любом случае я рад что вы открыли для себя модуль из стандартной документации вашего фреймверка, это великолепно, а учитывая что щас версия последняя 3.2, вы быстро это сделали!
собственно это логично что «скрипт должен был отрабатывать только при условии что кешированной картинки нет» — иначе в чем еще смысл кэшированиея? что бы каждый раз обрабатывать картинку, еще и кэшировать сверху? O.o
Смысл в том что камент мой был выражен в саркастичной форме, дабы показать людям что открытие для себя новых компонентов в своем рабочем фреймверке, не есть великое событие коми нужно делиться со всеми. Лично я так думаю.
А я не согласен с ваше гипотезой. Да, это замечание в данном случаи подходит, но когда я писал свой первый пост(Работаем в дороге), оказалось, что до меня была такая статья, но не хватала пару программ которые были представлены у меня…
Раз уже статья про этот замечательный фреймворк, то позволю себе спросить в треде: как происходит разработка фреймворка? Давно не отслеживал активности на форуме и что-то на гитхабе не видно новых коммитов.
Как быть? Можно считать Kohana канула в небытие? Мне искренне нравиться этот фреймворк из-за элегантности, но по долгу службы ушел в другие фреймворки, но к этому дальше дышу неровно.
Имхо, наоборот, разработка идет слишком быстрыми темпами, так как идет явно не туда, в 3.х ветке постоянно ломают работавшие ранее вещи ради непонятных преимуществ. Я бы на месте авторов забил бы на время на ядро и занялся окружением — сделал бы централизованный репозиторий модулей, cli-установщик оных, переработал бы и расширил бы документацию.
Был ощутимый простой в разработке, но сейчас в ближайшее время стоит ожидать последовательно релизы веток 3.1 (там вообще один тикет остался незакрытым), 3.2 и 3.3.
А почему не генерировать превью при загрузки файла? Или если элементов много делать это демоном.
На одном из сайтов на CMF ModX REVO делал также как и вы, при открытии галереи с более чем 100 фотографиями в изначальном разрешении под 1600px возникали немаленькие нагрузки на сервер, и генерация всех превью занимала секунд 30 минимум, что было выглядело не очень приятно.
Извините, но отдавать картинки через контроллер это просто ужасно. Для отдачи картинки, каждый раз будет создаваться экземпляр приложения. Я понимаю что можно заставлять браузер кешировать, но при большой посещаемости это не поможет. Как написал Grox, вас просто заспамят разными размерами. Если вы сделаете проверку на размеры, то придется постоянно дописывать их в конфиги при изменении шаблонов и тд.
Если не хотите генерировать превьюшки при загрузке, генерите их при отдаче файла один раз. Что-то типа <img src="<?php echo Image::show('path_to_original', array('width', 'height', 'crop', ...etc)) ?>">
Скрипт проверит существование превьюшки соответствующей параметрам, и при наличии сразу вернет ссылку на нее. При отсутствии также вернет ссылку, предварительно, создав саму картинку. Но ссылка будет на сам файл, который можно раздавать как статику.
Kohana, Image Preview – это просто