This module simplifies image manipulation for Zend Framework. This module integrates zf2/zf3 with Imagine, the most amazing Image manipulation library for PHP.
composer require hrevert/ht-img-module
- Register
HtImgModule
as module inconfig/application.config.php
- Copy the file located in
vendor/hrevert/ht-img-module/config/ht-img-module.global.php
toconfig/autoload
and change the values as you wish
First, you need to create a filter service, my_thumbnail
in /module/Application/config/module.config.php
return [
'htimg' => [
'filters' => [
'my_thumbnail' => [ // this is filter service
'type' => 'thumbnail', // this is a filter loader
'options' => [ // filter loader passes these options to a Filter which manipulates the image
'width' => 100,
'height' => 100,
'format' => 'jpeg' // format is optional and defaults to the format of given image
]
]
]
]
];
Now, you can get image from view templates like:
<img src="<?php echo $this->htImgUrl('my_image.png', 'my_thumbnail'); ?>" alt="Hello" />
Alternatively, you can:
<?php echo $this->htDisplayImage('my_image.png', 'my_thumbnail', ['alt' => 'Hello']); ?>
Behind the scenes, the module applies the filter to the image on the first request and then caches the image to the web root. On the next request, the cached image would be served directly from the file system.
Whenever, you call a filter service like my_thumbnail
from view template, the view helpers(htImgUrl and htDisplayImage) check if the cached image exists. If the cached image exists, it just returns the url to cached image. Else, it return the url where the image is displayed. Also a new cached image is created in the web root!
The officially documentation is available in the docs/ directory:
HtImgModule is inspired by AvalancheImagineBundle and LiipImagineBundle.