kenjis / codeigniter-ss-twig
为CodeIgniter提供的简单且安全的Twig集成
v4.2.0
2023-03-20 07:58 UTC
Requires
- php: >=7.4.0
- twig/twig: ^3.4.3
Requires (Dev)
- codeigniter4/devkit: ^1.1
- codeigniter4/framework: ^4.2.11
- phpunit/phpunit: ^9.5
README
本包为CodeIgniter 4.x提供了简单的Twig集成。
如果您使用CodeIgniter 3,请检查master分支。但强烈建议升级到CodeIgniter 4。
要求
- PHP 7.4或更高版本
- CodeIgniter 4.2.11或更高版本
- Twig 3.4.3或更高版本
安装
使用Composer
$ cd /path/to/codeigniter/
$ composer require kenjis/codeigniter-ss-twig
使用方法
加载Twig库
$this->twig = new \Kenjis\CI4Twig\Twig();
您可以覆盖默认配置
$config = [ 'paths' => ['/path/to/twig/templates', VIEWPATH], 'cache' => '/path/to/twig/cache', ]; $this->twig = new \Kenjis\CI4Twig\Twig($config);
渲染模板
渲染Twig模板并输出到浏览器
$this->twig->display('welcome', $data);
上述代码渲染了Views/welcome.twig
。
渲染Twig模板
$output = $this->twig->render('welcome', $data);
上述代码渲染了Views/welcome.twig
。
添加全局变量
$this->twig->addGlobal('sitename', 'My Awesome Site');
获取Twig\Environment实例
$twig = $this->twig->getTwig();
支持的CodeIgniter辅助函数
base_url()
site_url()
anchor()
form_open()
form_close()
form_error()
form_hidden()
set_value()
csrf_field()
validation_list_errors()
一些辅助函数增加了安全性的自动转义功能。
警告
validation_list_errors()
通过Services::validation()->listErrors()
显示验证错误,如果使用用户输入作为验证错误消息,攻击者可能会进行XSS攻击。在这种情况下,您需要自行验证用户输入并进行转义。
添加您的函数和过滤器
您可以通过配置添加您的函数和过滤器
$config = [ 'functions' => ['my_helper'], 'functions_safe' => ['my_safe_helper'], 'filters' => ['my_filter'], ]; $this->twig = new \Kenjis\CI4Twig\Twig($config);
如果您的函数明确输出HTML代码,并且希望输出为原始输出。在这种情况下,请使用functions_safe
,并且您必须确保函数的输出是无XSS的。
参考
文档
示例
如何运行测试
$ cd codeigniter-ss-twig
$ composer install
$ vendor/bin/phpunit
与CodeIgniter 4.x相关的项目
库
- CodeIgniter 3到4升级辅助函数
- 类似于CodeIgniter 3的验证码
- PHPUnit辅助函数
- CodeIgniter4属性路由
- CodeIgniter Simple and Secure Twig
- CodeIgniter4 Viewi演示
教程
- CodeIgniter 4新闻教程
- CodeIgniter 4验证教程
- CodeIgniter4代码模块测试
- CodeIgniter 4文件上传
- CodeIgniter 4 QueryBuilder批处理示例