1. Go to this page and download the library: Download dlds/yii2-imageable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
dlds / yii2-imageable example snippets
public function behaviors()
{
return [
TimestampBehavior::className(),
'coverBehavior' => [
'class' => ImageAttachmentBehavior::className(),
// type name for model
'type' => 'post',
// image dimmentions for preview in widget
'previewHeight' => 200,
'previewWidth' => 300,
// extension for images saving
'extension' => 'jpg',
// path to location where to save images
'directory' => Yii::getAlias('@webroot') . '/images/post/cover',
'url' => Yii::getAlias('@web') . '/images/post/cover',
// additional image versions
'versions' => [
'small' => function ($img) {
/** @var ImageInterface $img */
return $img
->copy()
->resize($img->getSize()->widen(200));
},
'medium' => function ($img) {
/** @var ImageInterface $img */
$dstSize = $img->getSize();
$maxWidth = 800;
if ($dstSize->getWidth() > $maxWidth) {
$dstSize = $dstSize->widen($maxWidth);
}
return $img
->copy()
->resize($dstSize);
},
]
]
];
}
public function actions()
{
return [
'imgAttachApi' => [
'class' => ImageAttachmentAction::className(),
// mappings between type names and model classes (should be the same as in behaviour)
'types' => [
'post' => Post::className()
]
],
];
}