Skip to content

Latest commit

 

History

History
111 lines (88 loc) · 2.7 KB

README.md

File metadata and controls

111 lines (88 loc) · 2.7 KB

Yii2 Image Extension


Provides methods for the dynamic manipulation of images. Various image formats such as JPEG, PNG, and GIF can be resized, cropped, rotated.

Latest Stable Version Total Downloads License

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yii2mod/yii2-image "*"

or add

"yii2mod/yii2-image": "*"

to the require section of your composer.json.

Configuration

Component Setup

To use the Image Component, you need to configure the components array in your application configuration:

'components' => [
    'image' => [
        'class' => 'yii2mod\image\ImageComponent',
    ],
],

Attach the behavior to the model

You need to add the ImageBehavior to the your model.

public function behaviors()
{
    return [
        'image' => [
            'class' => ImageBehavior::class,
            'pathAttribute' => 'path',
        ],
    ];
}

Action Setup

You need to add the ImageAction to the your controller.

public function actions()
{
    return [
        'image' => 'yii2mod\image\actions\ImageAction'
    ];
}

Configuring image types

Next, you should configure your params section in your configuration file:

'params' => [
    'image' => [
        'medium' => [
            'thumbnail' => [
                'box' => [194, 194],
                'mode' => 'outbound'
            ],
            'visible' => 'user', //checking role before outputing url
        ],
        'home' => [
            'thumbnail' => [
                'box' => [640, 480],
                'mode' => 'inset',
            ],
            'watermark' => [
                'watermarkFilename' => '@app/web/images/watermark.png',
            ],
        ],
    ],
],

Usage:

$model = Model::find()->one();
echo $model->url('medium'); // home is the type of photo.

Support us

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.