
Rumahit.ID - Buat para pengembang Laravel terutama yang sering bermain dalam manipulasi gambar, tentunya sudah tidak asing lagi dengan library yang satu ini. Untuk teman-teman yang baru mendengar istilah Glide Laravel, semoga artikel ini cukup membantu dalam implementasi library Glide di Laravel.
Menurut website resminya https://glide.thephpleague.com , Glide adalah pustaka manipulasi gambar on-demand yang sangat mudah ditulis dalam PHP. API langsungnya diekspos melalui HTTP, mirip dengan layanan pemrosesan gambar cloud seperti Imgix dan Cloudinary. Glide memanfaatkan pustaka yang kuat seperti Gambar Intervensi (untuk penanganan dan manipulasi gambar) dan Flysystem (untuk abstraksi sistem file).
Fitur-fitur Glide :
- Sesuaikan, ubah ukuran, dan tambahkan efek ke gambar menggunakan API berbasis HTTP sederhana.
- Gambar yang dimanipulasi secara otomatis disimpan dalam cache dan disajikan dengan header yang kedaluwarsa di masa mendatang.
- Buat server pemrosesan gambar Anda sendiri atau integrasikan Glide langsung ke aplikasi Anda.
- Mendukung pustaka GD dan ekstensi Imagick PHP.
- Mendukung banyak metode respons, termasuk PSR-7, HttpFoundation, dan lainnya.
- Kemampuan untuk mengamankan URL gambar menggunakan tanda tangan HTTP.
- Bekerja dengan banyak sistem file yang berbeda, berkat pustaka Flysystem.
- Didukung oleh pertempuran yang diuji Intervention Image penanganan dan perpustakaan manipulasi gambar.
- Framework-agnostic, akan bekerja dengan proyek apa pun.
- Komposer siap dan sesuai PSR-2.
Instalasi Glide Laravel
1. Menggunakan Composer
Pastikan juga untuk menyertakan file Composer autoload dalam proyek Anda:
<?php require 'vendor/autoload.php';
2. Integrasi Framework
3. Download File ZIP
Konfigurasi Glide Laravel
<?php
use League\Glide\ServerFactory;
use League\Glide\Responses\LaravelResponseFactory;
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request'))
]);Contoh Penerapan
<?php
Route::get('/img/{path}', 'ImageController@show')->where('path', '.*');Selanjutnya, buat controller yang akan menyajikan semua gambar Glide Anda. Ini akan menggunakan jalur penyimpanan Laravel default (/storage/app) untuk gambar sumber.
<?php
namespace App\Http\Controllers;
use Illuminate\Contracts\Filesystem\Filesystem;
use League\Glide\Responses\LaravelResponseFactory;
use League\Glide\ServerFactory;
class ImageController extends Controller
{
public function show(Filesystem $filesystem, $path)
{
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request')),
'source' => $filesystem->getDriver(),
'cache' => $filesystem->getDriver(),
'cache_path_prefix' => '.cache',
'base_url' => 'img',
]);
return $server->getImageResponse($path, request()->all());
}
}