xorock/zend-phptal

PHPTAL integration for Zend Framework 3


Keywords
module, phptal, zf, zf3
License
BSD-3-Clause

Documentation

PHPTAL Integration for Zend Framework 3

Provides PHPTAL integration for Zend Framework 3.

Installation

Install this library using composer:

$ composer require xorock/zend-phptal

Configuration

The following configuration options, specific to PHPTAL, is consumed by Service Factory:


return [
    'zfphptal' => [
        'cache_dir' => 'path to cached templates',
        // if enabled, delete all template cache files before processing
        'cache_purge_mode' => boolean,
        // set how long compiled templates and phptal:cache files are kept; in days 
        'cache_lifetime' => 30,
        'encoding' => 'set input and ouput encoding; defaults to UTF-8',
        // one of the predefined constants: PHPTAL::HTML5,  PHPTAL::XML, PHPTAL::XHTML
        'output_mode' => PhptalEngine::HTML5,
        // set whitespace compression mode
        'compress_whitespace' => boolean,
        // strip all html comments
        'strip_comments' => boolean,
        // if enabled, forces to reparse templates every time
        'debug' => boolean,
    ],
];

Using Zend Framework View Helpers

PhptalRenderer proxies to HelperPluginManager by public function plugin($name, array $options = null) or directly with __call():

<a tal:attributes="href php: this.url('sample_route')">link</a>

You can register own plugins in global / module config using ZF 'view_helpers' option key. For example, to register Test plugin:

module.config.php

return [
    'view_helpers' => [
        'aliases' => [
            'test' => \My\View\Helper\Test::class,
        ],
        'factories' => [
            \My\View\Helper\Test::class => \Zend\ServiceManager\Factory\InvokableFactory::class
        ],
    ],
];


// inside template
// ${php: this.test()}