The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 默认值 ]
如果输出的模板变量没有值,但是我们需要在显示的时候赋予一个默认值的话,可以使用default语法,格式:
- {$变量|default="默认值"}
这里的default不是函数,而是系统的一个语法规则,例如,我们在模板中写下如下的代码:
- {~$arrCompany['name']=''}
- {$arrCompany.name|default="这家公司怎么连个名字都没有,好吧,告诉你吧!其实我们的公司叫做 DoYouHaoBaby,只是最近手头紧,没有钱找一家广告制作公司的牌子 !我想问一下,你能够帮助我们吗?"}
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-10 10:21:48 */ ?>
- <?php $arrCompany['name']='' ; ?>
- <?php echo( (is_array($arrCompany) ? $arrCompany['name'] : $arrCompany->name) ? (is_array($arrCompany) ? $arrCompany['name'] : $arrCompany->name) : "这家公司怎么连个名字都没有,好吧,告诉你吧!其实我们的公司叫做 DoYouHaoBaby,只是最近手头紧,没有钱找一家广告制作公司的牌子 !我想问一下,你能够帮助我们吗?" ); ?>
如图:

程序运行结果如下:
- 这家公司怎么连个名字都没有,好吧,告诉你吧!其实我们的公司叫做 DoYouHaoBaby,只是最近手头紧,没有钱找一家广告制作公司的牌子 !我想问一下,你能够帮助我们吗?
如图:

对系统变量的输出不支持默认值,例如,我们在模板中写下如下的代码:
- {~$_GET['name']=''}
- {$D.get.name|default="The DoYouHaoBaby PHP Framework | NOT TM ~ BUT TM"}
程序运行后,编译后的PHP 代码:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-10 10:31:05 */ ?>
- <?php $_GET['name']='' ; ?>
- <?php echo( NOT TM ~ BUT TM"(($_GET['name']) ? ($_GET['name']) : "The DoYouHaoBaby PHP Framework ) ); ?>
如图:

结论:显然编译后的PHP 代码有语法错误,完全乱套了,所以上面的语法是错误的。
因为快捷输出不支持使用函数,所以也不支持默认值,默认只支持Html语法。例如,我们在模板中输出如下的代码:
- {~$_GET['company']=''}
- {%compnay|default="DoYouHaoBaby"}
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-10 10:47:05 */ ?>
- <?php $_GET['company']='' ; ?>
- <?php echo( $_GET['compnay|default="DoYouHaoBaby"'] ); ?>
如图:

结论:虽然编译后的PHP 代码没有语法错误,但是也没有达到我们的目的,所以这种语法也是不可取的。
下一节的三目运算符与这样十分相似,甚至功能一样,大家可以发掘吧。
