PHPackages                             lascyb/think-template - 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. lascyb/think-template

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

lascyb/think-template
=====================

the php template engine

3.3.0(5y ago)0251Apache-2.0PHPPHP &gt;=7.1.0

Since Nov 1Pushed 5y agoCompare

[ Source](https://github.com/lascyb/think-template)[ Packagist](https://packagist.org/packages/lascyb/think-template)[ RSS](/packages/lascyb-think-template/feed)WikiDiscussions 3.0 Synced 4d ago

READMEChangelogDependencies (1)Versions (21)Used By (1)

Lascyb 模板引擎
===========

[](#lascyb-模板引擎)

主要特性
----

[](#主要特性)

- 基于 ThinkTemplate 二次开发
- 加入模板常量配置文件；
- 模板常量文件文件后缀支持（.json）；
- 支持主题模板
- ```
    //在view 增加参数
    [
      "view_config_suffix"=>"json", // 默认模板配置后缀，其他后缀解析暂未完成
      "view_config_prefix" => "__Page",//调用前缀，默认为__Page
    ];
    ```
- 使用方法

    > 如定义了配置文件，则根据对应的文件名进行调用， 例如有 index.html 文件 ，存在配置文件index.json

    ```
    {
      "name":"我的文件全名叫做 index.html"
    }
    ```

    > 调用时在index.html 使用 \_\_Page.name 即可调用
    >
    > > 会在模板缓存中作为常量直接缓存
- 其他特性参考下面 ThinkTemplate

安装(一般需配合 lascyb/think-view 使用)
------------------------------

[](#安装一般需配合-lascybthink-view-使用)

```
composer require lascyb/think-template;
```

> ---
>
> 相关用法基本与 ThinkTemplate 相同,但是在视图文件夹中增加了配置文件，和主题模板目录，目录结构如下

- comtroller
- model
- view
    - default
        - index
            - index.html
            - index.json
        - public
            - header.html
            - header.json
            - footer.html
            - footer.json
    - red
        - index
            - index.html
            - index.json

> - 以上定义了一个default 主题 和 red 主题，并分别为模板文件定义了配置文件
> - 需要注意的是，如果index.html 引用了 header.html 或者使用了模板布局， 如果各个模板文件的名称不相同则无妨，但若是存在文件名相同的模板，则会存在优先级问题( 当前模板文件 &gt; include标签包含的模板文件 &gt; extend标签包含的模板文件 &gt; 布局标签包含的模板文件 &gt; 模板布局文件 &gt; 视图文件配置的tpl\_replace\_string)
> - 若启用主题模板，需要在试图配置(一般是view.php)中添加theme 配置 如

```
return [
    // 模板引擎类型使用Lascyb
    'type'          => 'Lascyb',
    // 主题模板使用 default，不使用填 false
    'theme'         =>'default'
];
```

> > > ---

ThinkTemplate
=============

[](#thinktemplate)

基于XML和标签库的编译型模板引擎

主要特性
----

[](#主要特性-1)

- 支持XML标签库和普通标签的混合定义；
- 支持直接使用PHP代码书写；
- 支持文件包含；
- 支持多级标签嵌套；
- 支持布局模板功能；
- 一次编译多次运行，编译和运行效率非常高；
- 模板文件和布局模板更新，自动更新模板缓存；
- 系统变量无需赋值直接输出；
- 支持多维数组的快速输出；
- 支持模板变量的默认值；
- 支持页面代码去除Html空白；
- 支持变量组合调节器和格式化功能；
- 允许定义模板禁用函数和禁用PHP语法；
- 通过标签库方式扩展；

安装
--

[](#安装)

```
composer require topthink/think-template

```

用法示例
----

[](#用法示例)

```
