快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

  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项目的方式(三)
下一教程: 如何跨站抓取别的站点的页面的补充

您可以阅读与"PHP.MVC的模板标签系统(三)"相关的教程:
· PHP.MVC的模板标签系统之初识PHP.MVC
· PHP.MVC的模板标签系统(一)
· 用PHP制作静态网站的模板框架(三)
· 用PHP制作静态网站的模板框架(一)
· phplib里带的模板功能的确异常好用,但有个致命的小错误需要更正!
    微笑服务 优质保证 索取样品