kenjis/codeigniter-ss-twig 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kenjis/codeigniter-ss-twig

最新稳定版本:v4.2.0

Composer 安装命令:

composer require kenjis/codeigniter-ss-twig

包简介

A Simple and Secure Twig integration for CodeIgniter

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

This package provides simple Twig integration for CodeIgniter 4.x.

If you use CodeIgniter 3, check master branch. But Upgrading to CodeIgniter 4 is strongly recommended.

Requirements

  • PHP 7.4 or later
  • CodeIgniter 4.2.11 or later
  • Twig 3.4.3 or later

Installation

With Composer

$ cd /path/to/codeigniter/
$ composer require kenjis/codeigniter-ss-twig

Usage

Loading Twig Library

$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);

Rendering Templates

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.

Adding a Global Variable

$this->twig->addGlobal('sitename', 'My Awesome Site');

Getting Twig\Environment Instance

$twig = $this->twig->getTwig();

Supported CodeIgniter Helpers

  • base_url()
  • site_url()
  • anchor()
  • form_open()
  • form_close()
  • form_error()
  • form_hidden()
  • set_value()
  • csrf_field()
  • validation_list_errors()

Some helpers are added the functionality of auto-escaping for security.

Warning validation_list_errors() shows Validation Errors by Services::validation()->listErrors(), and if you use user input for Validation Error messages, attackers may do XSS. In such a case, validate user input and escape it by yourself.

Adding Your Functions & Filters

You can add your functions and filters with configuration:

$config = [
    'functions'      => ['my_helper'],
    'functions_safe' => ['my_safe_helper'],
    'filters'        => ['my_filter'],
];
$this->twig = new \Kenjis\CI4Twig\Twig($config);

If your function explicitly outputs HTML code, you 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.

References

Documentation

Samples

How to Run Tests

$ cd codeigniter-ss-twig
$ composer install
$ vendor/bin/phpunit

Related Projects for CodeIgniter 4.x

Libraries

Tutorials

Building Development Environment

统计信息

  • 总下载量: 100.08k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 172
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 4

GitHub 信息

  • Stars: 167
  • Watchers: 23
  • Forks: 47
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-05-22