ercobo/twig

This package is abandoned and no longer maintained. No replacement package was suggested.

twig for Codeigniter 4

v1.1.3 2020-04-08 13:04 UTC

This package is auto-updated.

Last update: 2020-04-14 20:02:29 UTC


README

Twig for Codeigniter 4

Kudos

All kudos for this tool will be sent to https://github.com/daycry

Installation via composer

Use the package with composer install

> composer require ercobo/twig

Manual installation

Download this repo and then enable it by editing app/Config/Autoload.php and adding the ercobo\Twig namespace to the $psr4 array. For example, if you copied it into app/ThirdParty:

$psr4 = [
    'Config'      => APPPATH . 'Config',
    APP_NAMESPACE => APPPATH,
    'App'         => APPPATH,
    'ercobo\Twig' => APPPATH .'ThirdParty/twig/src',
];

Configuration

Run command:

> php spark twig:publish

This command will copy a config file to your app namespace. Then you can adjust it to your needs. By default file will be present in app/Config/Twig.php.

Usage Loading Library

$twig = new \ercobo\Twig\Twig();
$twig->display( 'file.html', [] );

Usage as a Service

$twig = \Config\Services::twig();
$twig->display( 'file.html', [] );

Usage as a Helper

In your BaseController - $helpers array, add an element with your helper filename.

protected $helpers = [ 'twig_helper' ];

And then you can use the helper


$twig = twig_instance();
$twig->display( 'file.html', [] );

Add Globals

$twig = new \ercobo\Twig\Twig();

$session = \Config\Services::session();
$session->set( array( 'name' => 'ercobo' ) );
$twig->addGlobal( 'session', $session );
$twig->display( 'file.html', [] );

File Example


<!DOCTYPE html>
<html lang="es">  
    <head>    
        <title>Example</title>    
        <meta charset="UTF-8">
        <meta name="title" content="Example">
        <meta name="description" content="Example">   
    </head>  
    <body>
        <h1>Hi {{ name }}</h1>
        {{ dump( session.get( 'name' ) ) }}
    </body>  
</html>

How Run Tests


vendor\bin\phpunit vendor\ercobo\twig\tests