raizdev / twig-codeigniter4
twig for Codeigniter 4
1.3
2022-10-31 00:40 UTC
Requires
- php: >=7.2
- twig/twig: ^3.1.1
Requires (Dev)
- codeigniter4/framework: ^4.0.2
- phpunit/phpunit: 8.5.*
This package is auto-updated.
Last update: 2025-03-01 00:47:59 UTC
README
Twig for Codeigniter 4
Installation via composer
Use the package with composer install
> composer require raizdev/twig-codeigniter4
Manual installation
Download this repo and then enable it by editing app/Config/Autoload.php and adding the Raizdev\Twig namespace to the $psr4 array. For example, if you copied it into app/ThirdParty:
$psr4 = [ 'Config' => APPPATH . 'Config', APP_NAMESPACE => APPPATH, 'App' => APPPATH, 'Raizdev\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 \Raizdev\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 \Raizdev\Twig\Twig(); $session = \Config\Services::session(); $session->set( array( 'name' => 'Raizdev' ) ); $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
cd vendor\raizdev\twig\ composer install vendor\bin\phpunit