everywell/imagination

一个Laravel包,允许无缝处理模型上的图像

v2.0.6 2021-01-25 18:49 UTC

This package is auto-updated.

Last update: 2024-09-26 03:09:12 UTC


README

一个允许无缝处理Eloquent模型上图像的Laravel包。

安装

要安装此包,只需几个步骤

Composer

在终端中使用以下命令通过Composer拉取此包:

composer require everywell/imagination

服务提供者

将此包添加到您的应用程序服务提供者中,在config/app.php文件中。

'providers' => [
    
    /*
     * Laravel Framework Service Providers...
     */
    Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
    Illuminate\Auth\AuthServiceProvider::class,
    ...
    
    /**
     * Third Party Service Providers...
     */
    EveryWell\Imagination\ImaginationServiceProvider::class,

],

配置文件

在终端中运行以下命令将包配置文件发布到您的应用程序:

php artisan vendor:publish --provider="EveryWell\Imagination\ImaginationServiceProvider"

特质和契约

在您的模型类中包含HasImages特质,并实现HasImages契约。

use EveryWell\Imagination\Traits\HasImages;
use EveryWell\Imagination\Contracts\HasImages as HasImagesContract;

class News extends Model implements HasImagesContract
{
    use HasImages;

图像属性

在您的模型中添加一个包含应作为图像处理的字段的images数组属性。

use EveryWell\Imagination\Traits\HasImages;
use EveryWell\Imagination\Contracts\HasImages as HasImagesContract;

class News extends Model implements HasImagesContract
{
    use HasImages;
    
    protected $fillable = [
        'title',
        'text',
        'banner',
        'image'
    ];
        
    protected $images = [
        'banner',
        'image' => [
            'discard_original' => true, // Optional: if true, doesn't save the original version of the image
            'dimensions' => [           // Optional: specifies different dimensions than the default config
                [
                    'name' => 'thumb',
                    'width' => 150
                ],
                [
                    'name' => 'small',
                    'width' => 250
                ],
                [
                    'name' => 'regular',
                    'width' => 600
                ]
            ]
        ]
    ];

就是这样!