Integrasi Glide di Laravel
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
Glide tersedia di Packagist dan dapat diinstal menggunakan Composer. Yaitu dapat dilakukan dengan menjalankan perintah berikut:
composer require league/glide-laravel
Pastikan juga untuk menyertakan file Composer autoload dalam proyek Anda:
<?php require 'vendor/autoload.php';
2. Integrasi Framework
Jika Anda menginginkan versi khusus Framework, adaptor berikut ini tersedia. Perhatikan, adaptor ini otomatis menyertakan pustaka dasar (league / glide), jadi Anda tidak perlu memerlukan keduanya.
composer require league/glide-cake
composer require league/glide-laravel
composer require league/glide-slim
composer require league/glide-symfony
composer require league/glide-zend
3. Download File ZIP
Proyek ini juga tersedia untuk diunduh sebagai file .zip di GitHub. Kunjungi halaman rilis, pilih versi yang Anda inginkan, dan klik tombol download "Source Code (zip)".
Konfigurasi Glide Laravel
Jika aplikasi Anda menggunakan kerangka kerja Laravel, Anda dapat menggunakan LaravelResponseFactory. Karena Laravel menggunakan HttpFoundation di balik hood, adaptor ini sebenarnya memperluas Symfony adapter.
<?php use League\Glide\ServerFactory; use League\Glide\Responses\LaravelResponseFactory; $server = ServerFactory::create([ 'response' => new LaravelResponseFactory(app('request')) ]);
Contoh Penerapan
Berikut adalah contoh yang berfungsi penuh tentang cara mengaktifkan Glide dan menjalankan Laravel dengan sangat cepat. Pertama, buat entri baru di file routes Anda:
<?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()); } }
Untuk memahami library Glide secara mendasar, sebaiknya anda baca terlebih dahulu dokumentasi dasar glide melalui link berikut : Glide Documentation.