视图装饰器
视图装饰器允许您的应用程序在渲染过程中修改 HTML 输出。这发生在缓存之前,允许您对视图应用自定义功能。
创建装饰器
创建您自己的视图装饰器需要创建一个新的类,该类实现 CodeIgniter\View\ViewDecoratorInterface。这需要一个单一方法,该方法接受生成的 HTML 字符串,对其进行任何修改,并返回生成的 HTML。
<?php
namespace App\Views\Decorators;
use CodeIgniter\View\ViewDecoratorInterface;
class MyDecorator implements ViewDecoratorInterface
{
public static function decorate(string $html): string
{
// Modify the output here
return $html;
}
}
创建完成后,该类必须在 app/Config/View.php 中注册。
<?php
namespace Config;
use CodeIgniter\Config\View as BaseView;
class View extends BaseView
{
public array $decorators = [
'App\Views\Decorators\MyDecorator',
];
// ...
}
现在它已注册,装饰器将被调用以渲染或解析的每个视图。装饰器按此配置设置中指定的顺序调用。