PHP.MVC的模板标签系统之初识PHP.MVC

模板

PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式。

   包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:

<@ include ’pageHeader.ssp’ @> 
  声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:

<@ salesAreaID = "Central District" @> 
  表达式标签允许我们在模板页中执行表达式.表达式的结果将被包含进模板页.以下表达式将被用来显示一个简单的字符串(salesAreaID),也可以找回框架配置类的属性:

<@ =salesAreaID @>
<@ =viewConfig.getAreaManager @> 
   PHP.MVC beta 0.4.0引进了一个新配置类叫做ViewResourcesConfig.这个类能被用来定义能被用在VIEW资源(模板)中的全局参数,并且也能去配置模板标签系统,它将在下面显示.phpmvc-config.xml配置文件中的view-resources元素在下面的显示:

<view-resources
appTitle = "Flash Jacks’ Sleek Tab Site"
copyright = "Copyright @ 2010 Flash Jack. All rights reserved."
contactInfo = "flash.jack@jackshost.com"
processTags = "true"
compileAll = "true"
className = "MyViewResourcesConfig"> 
<!-- We can set some properties on our custom ViewResourcesConfig class -->
<set-property property="areaManager" value="Joe J. Blogs Esq."/> 
</view-resources> 
  模板页面处理使用模板标签系统能被<view-resources>结点来控制.首先我们能定义是模板标签系统编译所有模板页面还是只编译修改过的.其次,我们能定义模板标签系统是否真的要处理标签页面,处理标签页面在应用程序配置当中和配置之后很有用.下面单元显示的<view-resources>是将compileAll和processTags属性设置为真(总是处理标签页并且处理所有标签页):

<view-resources
...
processTags = "true"
compileAll = "true"
...
</view-resources> 
   Action Dispatcher

   PHP.MVC版本beta 0.4.0以上ActionDispatcher类用来负责使FormBean,Errors,Value(商务数据)和ViewResourcesConfig对象在我们的VIEW(模板)中可以使用。

  在检查模板标签系统之前我们应该快速的看一下ActionObjects和ViewResourcesConfig类,当在使用标准的ActionDispatcher时.

   ActionObjects

   ActionDispatcher使一些对象在我们所使用的模板页面中的应用程序VIEW资源可用.3种标准的ActionObjects为:FormBean,Errors,和Value(商务数据)对象。

  一下表格显示了在FormAction和Action类中如何使用FormBean,Errors和Value对象:

Saving ActionObjects in ActionForm Classes 
ActionErrors $this->saveErrors($request, $actionErrors) 
  FormBeans $this->saveFormBean($request, $this) 
ValueObjects $this->saveValueObject($request, $valueObject) 

Saving ActionObjects in Action Classes 
ActionErrors $this->saveErrors($request, $actionErrors) 
FormBeans $this->saveFormBean($request, $form) 
ValueObjects $this->saveValueObject($request, $valueObject) 

Retrieving ActionObjects in View Resources (Templates) 
ActionErrors $errors->getItemString(’logon_username_reqd’) 
FormBeans $form->username 
ValueObjects $data->salesNorth 
  一个ActionObject将被初始化为NULL如果对象没有在之前被创建和保存.要想得到ActionObjects的详细信息请看这里:http://www.phpmvc.net/docs/guides/guidesIdx.php?doc=action-objects

   View Resources

   ActionDispatcher也能暴露ViewResourcesConfig对象到我们的模板页面中。ViewResourcesConfig对象被phpmvc-config.xml配置文件中的<view-resources>元素所配置的.如果ViewResourcesConfig对象还没有被配置,那么一个新的实例将使用默认的ViewResourcesConfig类的属性。

  下面这段代码显示了使用模板标签系统的表达式在我们的HTML页眉模板中如何访问ViewResourcesConfig属性:

<!-- Page Header --> 
<span>
<@ =viewConfig.getAppTitle @>
</span> 

   配置Action Dispatcher

ActionDispatcher是默认的PHP.MVC(在beta 0.4.0以上版本)Dispatcher类.这个Action Dispatcher被包含于框架将默认被使用,除非我们定义了一个类来替代Dispatcher类。在下一节中我们将看到怎样配置我们的应用程序来使用一个替代类--TagActionDispatcher类。

时间: 2024-10-03 05:06:48

PHP.MVC的模板标签系统之初识PHP.MVC的相关文章

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

 PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式.    包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:    <@ include 'pageHeader.ssp' @>    声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:    <@ salesAreaID = "C

PHP.MVC的模板标签系统(一)_php基础

    PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式.    包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:    <@ include 'pageHeader.ssp' @>    声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:    <@ salesAreaID = &quo

PHP.MVC的模板标签系统之标签行为调度

模板     TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降. 模板标签库是PHP.MVC框架结构的子系统,模板标签库联合TagActionDis

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

建立模板标签系统应用程序     建立模板标签系统应用程序只需几个步骤.    注意:以下步骤假设使用了新的SleeK例子应用程序(这个例子可以在www.phpmvc.net上找到). 修改应用程序的boot.ini文件     应用程序的boot.ini文件包含需要得到PHP.MVC框架的信息.boot.ini文件通常位于应用程序的"WEB-INF"目录下.为了设置应用程序使用模板标签类,我们需要在boot.ini文件中定义一些属性. TagActionDispatcher类    

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

页面布局     在这个单元中我们将看到如何使用模板标签系统构造一个标准的模板页面.这个例子我们使用了一个简单的HTML页面布局,请看下图:     这个页面有多个标准单元组成,就像页面设计者和开发者熟悉的那样.这个页面的主体由3个包含的单元组成:页眉,页内容主体和页脚.我们现在就看看这些单元并且了解如何使用模板标签系统来实现. 页主体     下面的代码单元显示的是主体:The Page Body Layout  1<@ saleMonth    = data.getValueBean('SA

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

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

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

The Php.MVC Tag Action Dispatcher     TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降.    模板标签库是P

PHP.MVC的模板标签系统之模板标签库

TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降. 模板标签库是PHP.MVC框架结构的子系统.模板标签库联合TagActionDispatcher

PHP.MVC的模板标签系统(四)_php基础

页面布局     在这个单元中我们将看到如何使用模板标签系统构造一个标准的模板页面.这个例子我们使用了一个简单的HTML页面布局,请看下图:     这个页面有多个标准单元组成,就像页面设计者和开发者熟悉的那样.这个页面的主体由3个包含的单元组成:页眉,页内容主体和页脚.我们现在就看看这些单元并且了解如何使用模板标签系统来实现. 页主体     下面的代码单元显示的是主体:The Page Body Layout  1<@ saleMonth    = data.getValueBean('SA