The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 点语法支持 ]

为了方便模板定义,数组和对象还可以支持点语法,例如,上面的模板中:

  1. 我们的毕业的梦想是城里一家叫做”{$arrValue['name']}“的科技公司,我们相信”{$arrValue['name']}“。  

我们可以改成:

  1. 我们的毕业的梦想是成立一家叫做”{$arrValue.name}“的科技公司,我们相信”{$arrValue.description}“。  


编译后的代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:25:03  */ ?>   
  2. 我们的毕业的梦想是成立一家叫做”<?php echo( is_array($arrValue) ? $arrValue['name'] : $arrValue->name ); ?>“的科技公司,我们相信”<?php echo( is_array($arrValue) ? $arrValue['description'] : $arrValue->description ); ?>“。  

因为点语法默认的输出是数组方式,所以上面两种方式是在没有配置的情况下是等效的。我们可以通过配置TMPL_VAR_IDENTIFY参数来决定点语法的输出效果,以下面的输出为例:

  1. {$arrValue['name']}  

如果TMPL_VAR_IDENTIFY设置为array,那么{$arrValue.name}和{$arrValue['name']}等效,也就是输出数组变量。

在配置文件(Conf/Config.php)中写下来如下代码:

  1. 'TMPL_VAR_IDENTIFY'=>'array'  


上面模板编译后的代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:28:28  */ ?>   
  2. 我们的毕业的梦想是城里一家叫做”<?php echo( $arrValue['name'] ); ?>“的科技公司,我们相信”<?php echo( $arrValue['description'] ); ?>“。  


如果TMPL_VAR_IDENTIFY设置为obj,那么{$arrValue.name]}和{$arrValue:name}等效,也就是输出对象的属性。
在配置文件(Conf/Config.php)中写下来如下代码:

  1. 'TMPL_VAR_IDENTIFY'=>'obj'  

上面模板编译后的代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:32:17  */ ?>   
  2. 我们的毕业的梦想是城里一家叫做”<?php echo( $arrValue->name ); ?>“的科技公司,我们相信”<?php echo( $arrValue->description ); ?>“。  

如果TMPL_VAR_IDENTIFY留空的话,系统会自动判断要输出的变量是数组还是对象,这种方式会一定程度上影响效率,这里支持无限级数组和属性。