内置标签

Sdopx自带了一些内置标签。 这些内置标签是Sdopx模板引擎的组成部分。 它们会被编译到php代码中,以取得最高的性能。

你不能建立相同名称的自定义标签; 同时你也不需要修改这些内置标签。

 

系统默认自带的内置标签表:

标签名称 功能介绍
{assign} 注册局部变量
{global} 注册全局变量
{cycle} 交替输出
{block} 模板区域
{call} 函数调用
{extends} 模板继承
{for} for 循环
{foreach},{foreachelse} foreach 循环
{function} 函数定义
{if},{elseif},{else} 逻辑判断
{switch},{case},{default} 条件选择
{include} 引入包含模板
{ldelim},{rdelim} 左定界符 与 右定界符
{literal} 原义输出
{while} while 循环

 

使用例子:

<!DOCTYPE html>
<html>
<head>
    <title>{$title}</title>
    <meta charset="utf-8"/>
</head>
<body>
{for $i=1;$i<2;$i++}
    {assign $name='baa'}
    {global $gname='this is global variable!'}
    {$gname}
{/for}
{$gname}
{if true}
    {assign $name='baa'}
{/if}
{$name}
</body>
</html>

 

自定义标签

Sdopx 允许自定义标签,在自定义标签时,不要覆盖原有内置的标签,每个标签名称 应该是唯一的。

一个简单的 自定义标签 示例

define('ROOT_DIR', __DIR__);
date_default_timezone_set('PRC');
require(ROOT_DIR . '/vendor/autoload.php');

use sdopx\Sdopx;

//定义插件 hello
class Hello
{
    public function render(array $params, \sdopx\lib\Outer $outer)
    {
        $name = isset($params['name']) ? $params['name'] : '';
        $outer->text('hello ' . $name);
    }
}

//注册插件
Sdopx::registerPlugin('hello', new Hello());


$sdopx = new Sdopx();
//设置模板目录
$sdopx->setTemplateDir('./view');
//设置编译代码存放目录
$sdopx->setCompileDir('./runtime');
//注册变量
$sdopx->assign('name', 'wj008');
//显示模板
$sdopx->display('index.tpl');

模板:

{hello name=$name}</br>
{hello name='test'}

输出:

hello wj008</br>
hello test

 

更多插件定义 请参阅 代码编程-自定义插件

Copyright © 2021 海南的叶子 All Rights Reserved 琼ICP备2021000725号

琼公网安备 46900702000037号