# 最简单一个普通变量
~~~
// 赋值
$this->assign ( 'sName', '欢迎使用 QueryPHP !' );
// 模板
{$sName}
~~~
模板编译后的结果:
~~~
<?php echo $sName; ?>
~~~
> 注意:模板标签的“{”和“$”之间不能有任何的空格,否则标签无效。
# 输出一个数组
~~~
// 赋值
$arrValue = array (
'name' => 'QueryPHP',
'description' => 'It is not a dream!'
);
// 模板
我的梦想是写好”{$arrValue['name']}“,我相信”{$arrValue['description']}“。
~~~
模板编译后的结果就是:
~~~
我的梦想是写好”<?php echo $arrValue['name']; ?>“,我相信”<?php echo $arrValue['description']; ?>“。
~~~
# 输出一个对象
我们编写这样子一个简单对象,然后再赋值:
~~~
// 赋值
class demo {
public $_sName = 'QueryPHP';
public $_sDescription = 'It is not a dream!';
}
$oDemo = new demo ();
$this->assign ( 'oDemo', $oDemo );
// 模板
我的梦想是写好”{$oDemo:_sName}“,我相信”{$oDemo:_sDescription}“。
~~~
模板编译后的结果:
~~~
我的梦想是写好”<?php echo $oDemo->_sName; ?>“,我相信”<?php echo $oDemo->_sDescription; ?>“。
~~~
无限级支持
~~~
我的梦想是写好”{$oDemo:_sName:child:child:child}“,我相信”{$oDemo:_sDescription}“。
~~~
模板编译后的结果:
~~~
我的梦想是写好”<?php echo $oDemo->_sName->child->child->child; ?>“,我相信”<?php echo $oDemo->_sDescription; ?>“。
~~~
# 对象数组点语法支持
为了方便模板定义,数组和对象还可以支持点语法,例如,上面的模板中:
~~~
我的梦想是写好”{$oDemo._sName}“,我相信”{$oDemo._sDescription}“。
~~~
模板编译后的结果:
~~~
我的梦想是写好”<?php echo is_array( $oDemo ) ? $oDemo['_sName'] : $oDemo->_sName; ?>“,我相信”<?php echo is_array( $oDemo ) ? $oDemo['_sDescription'] : $oDemo->_sDescription; ?>“。
~~~
注意:因为点语法默认是自动判断对象和数组,这个兼容性比较好。我们可以通过配置 **theme_var_identify** 参数来决定点语法的输出效果:
~~~
obj = 对象方式
array = 数组方式
~~~
支持无限级数组和无限级对象属性
~~~
我的梦想是写好”{$oDemo._sName.one.two.three.four}“,我相信”{$oDemo._sDescription.one.two.three.four}“。
~~~
模板编译后的结果:
~~~
我的梦想是写好”<?php echo is_array( $oDemo ) ? $oDemo['_sName']['one']['two']['three']['four'] : $oDemo->_sName->one->two->three->four; ?>“,我相信”<?php echo is_array( $oDemo ) ? $oDemo['_sDescription']['one']['two']['three']['four'] : $oDemo->_sDescription->one->two->three->four; ?>“。
~~~
> 注意:推荐使用“:”格式来输出对象,“[]”格式来输出数组,这种效率比较高。
- 关于 QueryPHP
- 获取 QueryPHP
- 环境要求
- 许可协议 Free
- 执行流程 MVC
- 命名规范 $sName
- 目录结构 DIR
- 单一入口 index.php
- 响应客户端请求 URL
- 命名空间与自动载入 Autoload
- 路由
- 路由导入
- 批量导入
- 参数正则
- 分组定义
- 路由绑定
- 路由域名
- 分层控制器
- 默认和初始化APP
- 默认控制器和方法
- url 模式
- url 生成
- url 伪静态
- url 重写
- url 重定向
- 控制器绑定
- 方法器分层
- 控制器 __init
- 控制器方法交互
- 模板引擎语法
- C变量输出 $sName
- C变量支持函数和方法 $sName|trim
- C快捷输出 ~
- C标签简化 Css & Javascript
- C默认值 eq 三元运算符
- C变量运算符 +-
- 变量递增递减 ++--
- C循环数据 list
- N变量赋值 assign
- N循环数据 list
- N循环数据高级版 lists
- C循环数据 while
- N循环数据 while
- C循环数据 for
- N循环数据 for
- C条件判断 if
- N条件判断 if
- 标签嵌套无限层级
- N循环流程 break & continue
- N使用 PHP 代码
- N包含子模板 include
- J模板引擎 intro
- J条件判断 if
- J循环数据 each
- J变量 & 表达式
- J变量支持函数和方法 hello|test
- J默认值 eq 三元运算符
- J框架前端组件 jquery.queryphp.js
- J前端 CSS 规范
- J前端 JS 规范
- 保护标签自身 tagself
- 数据库
- 数据库配置
- 执行原生 sql 语句
- 数据库事务
- 数据库构造器 prefix
- 数据库构造器 table
- 数据库构造器 forceIndex
- 数据库构造器 where
- 数据库构造器 bind
- 数据库构造器 join
- 数据库构造器 union
- 数据库构造器 orderBy
- 数据库构造器 groupBy
- 数据库构造器 having
- 数据库构造器 distinct
- 数据库构造器 aggregate
- 数据库构造器 limit
- 数据库构造器 forUpdate
- 数据库构造器 columns
- 数据库构造器 reset
- 数据库集合查询
- 数据库查询数据 get
- 数据库查询多条数据 getAll
- 数据库查询单条数据 getOne
- 数据库查询聚合查询 aggregate
- 数据库写入数据 insert
- 数据库写入数据 insertAll
- 配置
- 配置格式
- 惯性配置
- 配置文件
- 读取配置
- 设置配置
- 删除配置
- 日志
- 日志配置参数
- 日志路径
- 日志过滤器
- 日志处理器
- 缓存
- 缓存配置参数
- 缓存路径
- 缓存指定时间
- COOKIE
- COOKIE 配置参数
- 开发调试
- 页面 trace