melonsmasher / laravel-glide
1.5.1
2018-06-24 02:35 UTC
Requires
- laravel/framework: 5.2.*|5.3.*|5.4.*|5.5.*|5.6.*
- league/glide-laravel: ^1.0
This package is auto-updated.
Last update: 2022-02-01 13:13:45 UTC
README
此包提供了一个服务提供者,允许您轻松地将 Glide 集成到 Laravel 项目中。此外,可以配置多个服务器。
Glide 是一个易于使用的按需图像处理库,用 PHP 编写。它是非凡包联盟的一部分。
使用此包,您将能够即时生成图像处理并生成这些图像的 URL。这些 URL 将被签名,因此只有您才能指定应生成哪些处理。每个处理都会被缓存。
安装
通过 composer 安装
composer require axn/laravel-glide
在 Laravel 5.5 中,服务提供者将自动注册。在框架的较旧版本中,只需将服务提供者添加到 config/app.php
中的提供者数组中。
// config/app.php 'provider' => [ //... Axn\LaravelGlide\ServiceProvider::class, //... ];
在 Laravel 5.5 中,外观将自动注册。在框架的较旧版本中,只需将外观添加到 config/app.php
中的别名数组中。
// config/app.php 'aliases' => [ //... 'Glide' => Axn\LaravelGlide\Facade::class, //... ];
使用 artisan 发布包的配置文件
php artisan vendor:publish --provider="Axn\LaravelGlide\ServiceProvider"
通过添加以下行修改环境文件
GLIDE_IMAGE_DRIVER=gd
GLIDE_SIGN_KEY=SetComplicatedSignKey
显然,您需要根据您的环境调整值。
驱动可以是 "gd" 或 "imagick"。
建议使用 128 个字符(或更大)的签名密钥。为了帮助您完成此操作,您可以运行以下命令
php artisan glide:key-generate
使用方法
为每个配置的服务器创建一个路由
// App/Http/routes.php Route::get(config('glide.servers.images.base_url').'/{path}', [ 'uses' => 'GlideController@images' ])->where('path', '(.*)'); Route::get(config('glide.servers.avatars.base_url').'/{path}', [ 'uses' => 'GlideController@avatars' ])->where('path', '(.*)');
创建相应的控制器/操作
<?php namespace App\Http\Controllers; use Glide; use Illuminate\Http\Request; class GlideController extends Controller { public function images($path, Request $request) { return Glide::server('images')->imageResponse($path, $request->all()); } public function avatars($path, Request $request) { return Glide::server('avatars')->imageResponse($path, $request->all()); } }
将图像添加到您的视图中
<!-- From default server --> <img src="{{ Glide::url('example1.jpg', ['w' => 500, 'h' => 300, 'fit' => 'crop']) }}"> <!-- From "avatars" server --> <img src="{{ Glide::server('avatars')->url('example2.jpg', ['w' => 250, 'fit' => 'fill']) }}">