This package provides simple Twig integration for CodeIgniter 4.x.
If you use CodeIgniter3, check master branch.
- PHP 7.3 or later
- CodeIgniter 4.2 or later
- Twig 3.3.8 or later
$ cd /path/to/codeigniter/
$ composer require kenjis/codeigniter-ss-twig
$this->twig = new \Kenjis\CI4Twig\Twig();
You can override the default configuration:
$config = [
'paths' => ['/path/to/twig/templates', VIEWPATH],
'cache' => '/path/to/twig/cache',
];
$this->twig = new \Kenjis\CI4Twig\Twig($config);
Render Twig template and output to browser:
$this->twig->display('welcome', $data);
The above code renders Views/welcome.twig
.
Render Twig template:
$output = $this->twig->render('welcome', $data);
The above code renders Views/welcome.twig
.
$this->twig->addGlobal('sitename', 'My Awesome Site');
$twig = $this->twig->getTwig();
base_url
site_url
anchor
form_open
form_close
form_error
form_hidden
set_value
Some helpers are added the functionality of auto-escaping for security.
You can add your functions with configuration:
$config = [
'functions' => ['my_helper'],
'functions_safe' => ['my_safe_helper'],
];
$this->twig = new \Kenjis\CI4Twig\Twig($config);
If your function explicitly outputs HTML code, you will want the raw output to be printed. In such a case, use functions_safe
, and you have to make sure the output of the function is XSS free.
- https://github.com/kenjis/ci4-tettei-apps (Japanese)
@TODO
$ cd codeigniter-ss-twig
$ composer install
$ vendor/bin/phpunit