Полный цикл в digital

Кэширование

Дополнительный пакет Intervention Image Cache расширяет возможности Laravel, позволяя кэшировать изображения.

Библиотека кэширования использует пакет Illuminate/Cache, который является частью Laravel и может быть легко интегрирован в Framework. В зависимости от конфигурации кеша Laravel, вы можете выбирать между:

  1. Файловой системой
  2. Memcached
  3. Redis

Установка

Установка расширения происходит через Composer:

composer require intervention/imagecache

Применение

В публичной части Laravel public создаем папку img и кладем в нее тестовый файл с картинкой, должен получится следующий путь:

public/img/kartinka.jpg

Создаем новый роут в файле web.php:

routes/web.php<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SiteController;

Route::get('images/{link}', function ($link) {
    // SiteController будет классом, реализующим ваш метод getImageThumb
    $img = SiteController::getImageThumb($link);
    // Функция будет возвращать картинку
    return $img;
});

Создаем контроллер с методом который будет производить манипуляцию с картинкой и создавать кэш:

app/Http/Controllers/SiteController.php<?php
namespace App\Http\Controllers;

use Image;

class SiteController extends Controller
{
    public static function getImageThumb($link)
    {
        $path = "img/" . $link;
        $img = Image::cache(function ($image) use ($path) {
            return $image->make($path)->resize(200, 200);
        }, 5, true);
        return $img->response();
    }
}

Теперь в файле шаблона blade генерируете URL-адрес следующим образом:

<img src="{{ asset('images/kartinka.jpg') }}">

Laravel не будет автоматически очищать файлы кэша с истекшим сроком действия. Поэтому, если вы хотите очистить все кэшированные изображения с истекшим сроком действия, вам придется управлять этим действием отдельно.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг