alghool / twig
twig for Codeigniter 4
Requires
- php: >=7.4
- twig/twig: ^3.1.1
Requires (Dev)
- codeigniter4/devkit: ^1.0
- codeigniter4/framework: ^4
- rector/rector: 0.16.0
This package is auto-updated.
Last update: 2025-03-07 07:44:32 UTC
README
Twig, the flexible, fast, and secure template language for Codeigniter 4
Twig is a template language for PHP.
Twig uses a syntax similar to the Django and Jinja template languages which inspired the Twig runtime environment.
Installation via composer
Use the package with composer install
> composer require Alghool/twig
Manual installation
Download this repo and then enable it by editing app/Config/Autoload.php and adding the Alghool\Twig namespace to the $psr4 array. For example, if you copied it into app/ThirdParty:
$psr4 = [ 'Config' => APPPATH . 'Config', APP_NAMESPACE => APPPATH, 'App' => APPPATH, 'Alghool\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 \Alghool\Twig\Twig(); $twig->display( 'file', [] );
Usage as a Service
$twig = \Config\Services::twig(); $twig->display( 'file', [] );
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', [] );
Add Globals
$twig = new \Alghool\Twig\Twig(); $session = \Config\Services::session(); $session->set( array( 'name' => 'alghool' ) ); $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\alghool\twig\ composer install vendor\bin\phpunit