Skip to content
Image manipulation module for Zend Framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Master Branch Build Status Latest Stable Version Latest Unstable Version Total Downloads Scrutinizer Code Coverage

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 in config/application.config.php
  • Copy the file located in vendor/hrevert/ht-img-module/config/ to config/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!


The officially documentation is available in the docs/ directory:


HtImgModule is inspired by AvalancheImagineBundle and LiipImagineBundle.

You can’t perform that action at this time.