Download the PHP package vheissu/ci-twig without Composer
On this page you can find all versions of the php package vheissu/ci-twig. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vheissu/ci-twig
More information about vheissu/ci-twig
Files in vheissu/ci-twig
Package ci-twig
Short Description Twig templating integration for CodeIgniter 4
License MIT
Homepage https://github.com/Vheissu/Ci-Twig
Informations about the package ci-twig
CI-Twig
Twig templating integration for CodeIgniter 4.
Requirements
- PHP 8.1+
- CodeIgniter 4.6+
Installation
Step 1: Install via Composer
Step 2: Register the Service
Add the Twig service to your app/Config/Services.php:
Step 3: Create Configuration (Optional)
Create app/Config/Twig.php to customize settings:
That's it! You're ready to use Twig templates.
Quick Start
In Your Controller
Create a Template
Create app/Views/home.twig:
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
extension |
string | .twig |
Template file extension |
templatePaths |
array | [APPPATH . 'Views/'] |
Directories to search for templates |
cacheEnabled |
bool | false |
Enable compiled template caching |
cachePath |
string | WRITEPATH . 'cache/twig/' |
Cache directory |
debug |
bool | false |
Enable debug mode (enables dump()) |
autoReload |
bool | true |
Recompile templates when source changes |
autoescape |
string|bool | 'html' |
Auto-escape strategy ('html', 'js', false) |
functions |
array | [] |
PHP functions to expose in templates |
filters |
array | [] |
PHP functions to use as filters |
strictVariables |
bool | false |
Throw exception on undefined variables |
enableCiExtension |
bool | true |
Enable built-in CI4 helper functions |
modulePaths |
bool|array | true |
Auto-discover HMVC module view paths |
Production Configuration Example
Usage
Rendering Templates
Setting Variables
Registering Custom Functions
Registering Custom Filters
Method Chaining
All methods return $this for fluent chaining:
Template Syntax
CI-Twig uses standard Twig syntax.
Variables
Control Structures
Template Inheritance
base.twig:
page.twig:
Including Partials
Built-in CI4 Functions
When enableCiExtension is true (default), these functions are available:
Debug Mode
When debug is true:
HMVC / Module Support
CI-Twig automatically discovers module view paths. Templates in your modules are available without configuration:
Or manually specify module paths:
Managing Template Paths
Use namespaced templates:
Advanced: Accessing Twig Directly
Migrating from CI3
| CodeIgniter 3 | CodeIgniter 4 |
|---|---|
$this->load->library('twig') |
service('twig') |
$this->twig->parse('view', $data) |
service('twig')->render('view', $data) |
$this->twig->parse('view', $data, TRUE) |
service('twig')->render('view', $data) |
$this->twig->parse('view', $data, FALSE) |
service('twig')->display('view', $data) |
config/twig.php (array) |
app/Config/Twig.php (class) |
Development
The repository includes a test application for development:
License
MIT License. See LICENSE for details.
Credits
- Dwayne Charrington
- Twig by Symfony