PHPackages                             kwan/think-twig - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. kwan/think-twig

ActiveLibrary[Templating &amp; Views](/categories/templating)

kwan/think-twig
===============

ThinkPHP3.2.x twig模板引擎

06PHP

Since Feb 18Pushed 9y ago1 watchersCompare

[ Source](https://github.com/xcorp1986/think-twig)[ Packagist](https://packagist.org/packages/kwan/think-twig)[ RSS](/packages/kwan-think-twig/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

介绍
==

[](#介绍)

ThinkPHP3.2.x Twig模板引擎 fork from

###### update

[](#update)

- 2016-04-11 更改缓存目录，修复一些拼写问题，完善注释etc

安装
--

[](#安装)

[composer中文文档](http://www.kancloud.cn/thinkphp/composer)

```
composer require cheukpang/think-twig

```

引擎配置
----

[](#引擎配置)

```
/* Twig模板引擎设置 */
'TMPL_ENGINE_TYPE'      =>  'Twig',      // 设置为Twig启用twig引擎
'TMPL_TEMPLATE_SUFFIX'  =>  '.html',     // 设置模板后缀, 可自由设置
'TMPL_FILE_DEPR'        =>  '/',         // 模板文件CONTROLLER_NAME与ACTION_NAME之间的分割符

```

做完上面的配置, twig就生效了:

```

{{var}}

```

```
// 控制器aciton
    ...
    $this->assign('var','hello world');
    $this->display(); // or `echo $this->fetch();`

```

- 注意: Twig不支持控制器的 show 方法.

跳转页面配置
------

[](#跳转页面配置)

**无论引擎配置如何, Controller的error/success方法的模板始终采用think引擎渲染.**

如果您确实需要使用twig引擎自定义这两种页面的模板, 只需要使用 `TMPL_ACTION_ERROR`和`TMPL_ACTION_SUCESS`配置指定模板文件的位置,并将模板文件的后缀名改为`twig`即可.

```
'TMPL_ACTION_ERROR'     =>  THINK_PATH.'Tpl/dispatch_jump.twig', // 使用twig渲染错误页面
'TMPL_ACTION_SUCCESS'   =>  THINK_PATH.'Tpl/dispatch_jump.twig', // 使用twig渲染成功页面

```

- 注:异常页面模板, 不支持任何模板引擎.

配置Twig
------

[](#配置twig)

如果需要, 任何时候都可以配置Twig, 推荐在 `app_begin` 阶段配置

示例:

```
$twig = \Think\Template\Driver\Twig::getInstance();
$escaper = new \Twig_Extension_Escaper('html');
$twig->addExtension($escaper);

```

###  Health Score

19

—

LowBetter than 9% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d739ab8b6859e531b5e156e484a3ed1016cbf932ff62efe94c52fe69b7510391?d=identicon)[xcorp](/maintainers/xcorp)

### Embed Badge

![Health badge](/badges/kwan-think-twig/health.svg)

```
[![Health](https://phpackages.com/badges/kwan-think-twig/health.svg)](https://phpackages.com/packages/kwan-think-twig)
```

###  Alternatives

[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3861.2M](/packages/limenius-react-bundle)[area17/laravel-auto-head-tags

Laravel Auto Head Tags helps you build the list of head elements for your app

4616.0k](/packages/area17-laravel-auto-head-tags)[jelix/wikirenderer

WikiRenderer is a library to generate HTML or anything else from wiki content.

1712.2k1](/packages/jelix-wikirenderer)[webkinder/sproutset

A Composer package for handling responsive images in Roots Bedrock + Sage + Blade projects.

281.8k](/packages/webkinder-sproutset)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
