Подключение Intervention Image
Intervention Image — это PHP-библиотека для обработки и манипуляции изображениями. Она обеспечивает более простой и выразительный способ создания, редактирования и компоновки изображений и поддерживает в настоящее время две наиболее распространенные библиотеки обработки изображений GD Library и Imagick.
Официальный сат с документацией: https://image.intervention.io
Установка в Winter CMS
Библиотеку устанавливаем через Composer. Для этого из консоли в корне приложения запускаем команду:
composer require intervention/image
Подключение
После того как библиотека установилась, нам нужно подключить её к нашему приложению. Для Winter CMS полностью подходит инструкция по интеграции в Ларавел, как указано в документации библиотеки.
Нужно в файле config/app.php
в параметр providers
добавить класс Intervention\Image\ImageServiceProvider::class
Получается типа такого:
'providers' => array_merge(include(base_path('modules/system/providers.php')), [
Intervention\Image\ImageServiceProvider::class,
System\ServiceProvider::class,
]),
Так же можем добавить алиас (псевдоним имени) для класса библиотеки, если мы хотим подключать библиотеку сразу по короткому имени use Image;
вместо длинного use Intervention\Image\ImageManagerStatic;
. Для этого в этом же файле config/app.php
в параметр aliases
добавляем новое имя алиаса как ключ и его значением класс библиотеки. Получится:
'aliases' => array_merge(include(base_path('modules/system/aliases.php')), [
'Image' => Intervention\Image\Facades\Image::class,
]),
Добавлять алиас в конфигурацию не обязательно. Это чисто для удобства. Главное требование, чтобы имя алиса нигде не повторялось для других классов.
Задать алиас Image
классу библиотеки, чтобы соответствовать неймингу как в примерах документации, мы можем непосредственно при подключении класса через оператор as
:
use Intervention\Image\ImageManagerStatic as Image;
Использование
Теперь в своём коде подключаем библиотеку и далее используем её для своих задач:
use Intervention\Image\ImageManagerStatic as Image;
class ImgGenerator
{
public function imgGenerateSprite() {
$img = Image::make('public/foo.jpg');
// ...
}
}
*** Войдите чтобы писать комментарии.