PHP.MVC的模板标签系统(三)


Posted in PHP onSeptember 05, 2006

PHP.MVC标签语法

    在基本的介绍之后,我们现在就可以来看看模板标签系统的语法.
    在看具体的标签之前,我们应该定义什么作为我们的标签.为了写一个标签,我们使用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默认的标签.如果必要的话,这些标签我们能够在phpmvc-config.xml中重新定义.
    模板标签系统现在支持以下3种标签:包含指令,声明和表达式.我们现在来看看这些指令.

包含指令

    包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:
    <@ include 'pageHeader.ssp' @>
    一个包含指令在模板上下文种的例子:
<html>
<head>
...
</head>
<body>
<center>
<table class='pageLayoutTable'>
   <tr>
      <td class='pageHeader'>
         <@ include 'pageHeader.ssp' @>
      </td>
   </tr>
   <!-- PAGE CONTENTS -->
   ...
   <!-- PAGE FOOTER -->
   ...
</table>
...
</center>
</body>
</html>
    在这里例子种pageHeader.ssp页眉文件内容将被插入到主页面上当这个页面被发送到用户浏览器上.这个页眉文件包含了一个表达式:
<!-- Page Header -->
 <span>
    <@ =viewConfig.getAppTitle @>
 </span>
    这个表达式将被编译并且将在运行时输出为:
<!-- Page Header -->
 <span>
    Flash Jacks' Sleek Tab Site
 </span>

声明

    声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:
    <@ salesAreaID = "Central District" @>
    我们能够在模板文件中使用声明:
<@ saleMonth   = data.getValueBean('SALE_MONTH') @>
<@ saleTitle   = data.getValueBean('SALE_TITLE') @>
<@ dealHeading = data.getValueBean('DEAL_HEADING') @>
<@ salesAreaID = "Central District" @>

<html>
<head>
   <link rel='stylesheet' type='text/CSS' href="./style/pageStyles.css"/>
   <title>
      ...
   </title>
</head>
<body>
...
</body>
</html>
    在这里例子中,我们声明了一些页变量.前3个变量已经在我们创建的Action类中的ActionObject中被赋值:data.getValueBean('SALE_MONTH').第4个变量被赋了一个字符串值:salesAreaID = "Central District".
    声明的变量现在可以在页面中使用了:
<!-- start_page_contents_include -->
...
<!-- Content section heading -->
<h4><@=dealHeading @> <@=saleMonth @></h4>

<center>
Clearance deals
<table class='productsTable'>
   ...
</table>
</center>

<center>
Todays specials
<table class='productsTable'>
   ...
</table>
</center>
...
<!-- end_page_contents_include -->
    这些页变量将被输出为:
<!-- Content section heading -->
<h4>Jack's Super Deals for : May 2010</h4>
...
...

表达式

    表达式标签允许我们在模板页中执行表达式.表达式的结果将被包含进模板页.以下表达式将被用来显示一个简单的字符串(salesAreaID),也可以找回框架配置类的属性:
<@ =salesAreaID @>
<@ =viewConfig.contactInfo @>
    为了使用这些表达式,我们要在之前声明过:
<@ salesAreaID = "Central District" @>
    或者在ViewResourcesConfig对象(viewConfig)的属性在view-resources结点中声明过:
<view-resources
    appTitle    = "Flash Jacks' Sleek Tab Site"
    contactInfo = "flash.jack@jackshost.com"
    ...
  </view-resources>
    当使用表达式中的对象时,我们能够写一个对象-方法(object-method)声明在标准的PHP符号或者点风格的符号:
The PhpMVC_Tags Object-Method Notation 
PHP Style  sales = data->getSales 
Dot Style  sales = data.getSales 
With Method Params  staff = data.getValueBean("STAFF") 
Retrieve Data Array  products = data->getValueBean("PRODUCTS_ARRAY") 
    在下一个单元我们将看到如何使用模板标签系统将这些结合在一起来构建页面.

PHP 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
zen cart新进商品的随机排序修改方法
Sep 10 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
php session_decode函数用法讲解
May 26 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 PHP
PHP.MVC的模板标签系统(二)
Sep 05 #PHP
PHP.MVC的模板标签系统(一)
Sep 05 #PHP
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 #PHP
Windows下PHP5和Apache的安装与配置
Sep 05 #PHP
玩转图像函数库―常见图形操作
Sep 03 #PHP
生成静态页面的PHP类
Jul 15 #PHP
删除无限级目录与文件代码共享
Jul 12 #PHP
You might like
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
给民警的表扬信
2014/01/08 职场文书
护士自我评价范文
2014/01/25 职场文书
幼师自我鉴定
2014/02/01 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
安全保证书怎么写
2015/02/28 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android