nongbit / codeigniter-twig

将 Twig 集成到 CodeIgniter 4

1.0.0 2024-01-05 12:18 UTC

This package is auto-updated.

Last update: 2024-09-05 13:59:45 UTC


README

将 Twig 集成到 CodeIgniter 4。

设置

使用 composer 下载包。

composer require nongbit/codeigniter-twig

打开 APPPATH/Controllers/BaseController.php

use Nongbit\Twig\Traits\Twig;

abstract class BaseController extends Controller
{
    use Twig;

    ...

    public function initController(...)
    {
        ...

        $this->initTwig();
    }
}

使用方法

模板

要显示模板,我们可以使用 trait 提供的 display()

$this->display('hello', ['title' => 'Acme'])

默认情况下,Twig 将在 APPPATH/Views 内部查找模板文件。要添加其他位置,请使用 addPath()

$this->twig->addPath(ROOTPATH . 'templates');

默认文件扩展名是 html,但我们可以通过创建配置文件 App\Config\Twig.php 来更改它。

namespace Config;

use CodeIgniter\Config\BaseConfig;

class Twig extends BaseConfig
{
    public string $fileExtension = 'twig';
}

全局

$this->twig->addGlobals('title', 'Acme');
$this->twig->addGlobals(['title' => 'Acme']);

在视图内部

{{ title }}

过滤器

$this->twig->addFilters('rot13', 'rot13');
$this->twig->addFilters('rot13', function($string) {
    return str_rot13($string);
});
$this->twig->addFitlers(['rot13']);

在视图内部

{{ 'Twig'|rot13 }}

函数

函数的行为与过滤器类似。