Обзор дополнения EasyPhpThumb
Рубрика: Новости
27 Окт. 2009Как часто в проектах вы сталкиваетесь с загрузкой картинок? Если в своей работе вы используете thumb-pics (уменьшенные картинки) — тогда это дополнение для вас!
---Дополнение EasyPhpThumb появившееся не так давно сразу привлекло мое внимание. Оно основано на интеграции инструмента PhpThumb в Yii Framework.
PhpThumb представляет из себя удобный инструмент, позволяющий при помощи GD/ImageMagic и PHP – работать с изображениями. Главная функция — это конечно же ресайз изображения.
Данное расширение будет работать с версией Yii 1.0.9 или выше!
Установка
- Заходим на страницу расширения, во вкладку «Download»
- Загружаем последнюю версию к себе
- Извлекаем файлы в protected/extensions, вашего приложения
Настройка
Вы можете использовать два способа подключения.
- Компонентный подход
В файле config/main.php
Используем:'components'=>array(
..
'thumb'=>array(
'class'=>'ext.phpthumb.EasyPhpThumb',
),
),
..Yii::app()->thumb->setThumbsDirectory('/images/thumbs');
Yii::app()->thumb
->load(Yii::getPathOfAlias('webroot')."/images/".$filename)
->crop($area['x'],$area['y'],$area['width'],$area['height'])
->save($area['name'].".gif", "GIF"); - Прямо в месте использования
Yii::import('ext.phpthumb.EasyPhpThumb');
$thumbs = new EasyPhpThumb();
$thumbs->init();
$thumbs->setThumbsDirectory('/images/thumbs');
$thumbs
->load(Yii::getPathOfAlias('webroot')."/images/".$filename)
->crop($area['x'],$area['y'],$area['width'],$area['height'])
->save($area['name'].".gif", "GIF");
Доступные возможности
На момент написания статьи — расширение доступно только в версии 1.0. В будущем создатели обещают поддержку большого кол-ва функция из PhpThumb, уже сейчас вы можете использовать:
- resize(width, height)
- resizePercent(percent)
- crop(x,y,width,heigh)
Полезные ссылки
- Страница расширения easyphpthumb [англ.]
- PHP Thumb [англ.]
- Документация по PHP Thumb [англ.]
Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
- Рано или позно каждый программист подходит к моменту написания собственной CMS или системы управления сайтами. Несмотря на обильное кол-во опенсорс ... "Идея проекта [OzYii]"
- Снова я к своим читателям обращаюсь с глупым вопросом, но что делать, другой аудитории я не доверяю :) На ... "Вопрос: Закрыть yii через htaccess"
- Модель это класс для работы приложения с базой. Для каждой таблицы с которой предстоит работать — создается своя модель ... "Шаг 4 : Модель"

[guest] Romanoza
Было сказано: Вторник, 27 Октябрь 2009
а зачем эта штука, есть есть Image (http://www.yiiframework.com/extension/image/)

[adm] zolter
Было сказано: Вторник, 27 Октябрь 2009
Ну это тоже самое что спросить зачем Opera если есть Firefox :) Данное расширение это подключение именно PhpThumb к Yii, в котором еще есть куча функций которые не успело включить в себя это дополнение. Думаю в следующих версиях оно будет конкурировать с Image расширением.

[adm] zolter
Было сказано: Вторник, 27 Октябрь 2009
Это расширение тоже наверно скоро рассмотрю для сравнения. Я ж когда статью пишу, сам их все пробую. Поэтому для личного опыта сойдет :)

[guest] Гость
Было сказано: Среда, 28 Октябрь 2009
Сенкс
По тексту увидел Yii::getPathOfAlias. Это зачем?

[adm] zolter
Было сказано: Среда, 28 Октябрь 2009
http://www.yiiframework.com/doc/api/YiiBase#getPathOfAlias-detail
Translates an alias into a file path. Note, this method does not ensure the existence of the resulting file path. It only checks if the root alias is valid or not.
Т.е. просто добавлять путь от корня к webroot

[adm] zolter
Было сказано: Среда, 28 Октябрь 2009
Yii::app()->basePath - дает полный путь к папке protected по умолчанию, если не ошибаюсь. А Yii::getPathOfAlias('webroot') дает путь именно к папке где index.php лежит.
Например:
/hsphere/local/home/zolter/dbhelp.ru/protected
/hsphere/local/home/zolter/dbhelp.ru


