Кеширование изображений при помощи Imagecache 2.3
Для того, чтобы кешировать изображения и делать с ними манипуляции через URL, нужно установить следующие пакеты в L4.2:
composer require "intervention/imagecache:^2.3"
Затем публикуем конфиги
php artisan config:publish intervention/imagecache
Заходим в "app/config/packages/intervention/imagecache/config.php"
'route' => 'imagecache'
Теперь все пресеты будут работать в таком видет: "imagecache/presetname/filename.jpg"
Затем указываем путь к директории с изображениями:
'paths' => array(public_path('img') )
Ниже мы увидим дефолтные пресеты:
'small' => 'Intervention\Image\Templates\Small',
'medium' => 'Intervention\Image\Templates\Medium',
'large' => 'Intervention\Image\Templates\Large'
)
Можно использовать дефолтные пресеты таким образом: "imagecache/small/filename.jpg"
Но если вы хотите добавить собственные пресеты с собственными настройками обработки изображений, то вам необходимо создать собственные пресеты. Например, я всегда создаю по такому адресу: "app/filters/filters.php". По дефолту нет директории "filters" - её нужно создать.
Содержимое файла filters.php:
namespace Filters;
use Intervention\Image\Image;
use Intervention\Image\Filters\FilterInterface;
class TestFilter implements FilterInterface
{
public function applyFilter(Image $image)
{
return $image->fit(120, 90)->greyscale();
}
}
Далее, в конфиг "app/config/packages/intervention/config.php" добавляем под дефолтными пресетами:
'small' => 'Intervention\Image\Templates\Small',
'medium' => 'Intervention\Image\Templates\Medium',
'large' => 'Intervention\Image\Templates\Large' ,
'test' => 'Filters\TestFilter'
)
Теперь добавляем наш класс в composer.json в секцию autoload:
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/filters"
],
Не забываем composer dumpautoload
и всё должно работать.
- 2185 просмотров
Разделы
Комменты
-
Olzhas 9 месяцев 3 недели назадСпасибо. С Новым Годом! →
-
Den 10 месяцев 3 недели назадВ первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. →
-
Гость 10 месяцев 3 недели назадЕсли все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того →
-
Валерий 11 месяцев 2 недели назадда можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер →
-
admin 11 месяцев 2 недели назадВалерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт →
-
Валерий 11 месяцев 3 недели назадзахожу на mysql через ssh по команде →
-
admin 11 месяцев 3 недели назадДобрый вечер, какой у вас клиент? →
-
Валерий 11 месяцев 3 недели назадЗдравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? →
-
Eduard 1 год 2 дня назадВидать, домен хороший был. Заявление пробывали писать на мошенника? →
-
Stas 1 год 1 месяц назадОшибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям! →
Комментарии (0)