hrevert / ht-img-module
Image manipulation module for Zend Framework 2
Installs: 29 020
Dependents: 2
Suggesters: 0
Security: 0
Stars: 17
Watchers: 9
Forks: 15
Open Issues: 6
Requires
- php: ^5.6 || ^7.0
- imagine/imagine: ^0.7.1
- symfony/http-foundation: ~3.4
- zendframework/zend-eventmanager: ^2.7 || ^3.0
- zendframework/zend-http: ^2.5
- zendframework/zend-modulemanager: ^2.6
- zendframework/zend-mvc: ^2.7.10 || ^3.0
- zendframework/zend-servicemanager: ^2.7.6 || ^3.1
- zendframework/zend-stdlib: ^2.7 || ^3.0
Requires (Dev)
- ext-gd: *
- doctrine/instantiator: 1.0.5
- knplabs/gaufrette: ^0.1.9
- league/flysystem: 0.4.*
- phine/test: 1.*
- phpunit/phpunit: ^5.7
- zendframework/zend-escaper: ^2.2
- zendframework/zend-filter: ^2.5
- zendframework/zend-view: ^2.7
Suggests
- knplabs/gaufrette: To use this library to load image
- league/flysystem: To use this library to load image
- zendframework/zend-view: To use some view helpers provided this module
This package is auto-updated.
Last update: 2024-10-13 02:48:37 UTC
README
This module simplifies image manipulation for Zend Framework. This module integrates zf2/zf3 with Imagine, the most amazing Image manipulation library for PHP.
Installation
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
Basic Usage
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.
Theory of Operation
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!
Documentation
The officially documentation is available in the docs/ directory:
Acknowledgements
HtImgModule is inspired by AvalancheImagineBundle and LiipImagineBundle.