当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP.MVC的模板标签系统之初识PHP.MVC

PHP
PHP中上传大体积文件时需要的设置
用PHP生成PDF文件 with FPDF
在同一窗体中使用PHP来处理多个提交任务
PHP经验交流:php访问access的方法
PHP实用手册:PHP常用正则表达式收集
也用PHP来实现网页静态发布的两种方法
PHP使用zlib扩展实现页面GZIP压缩输出
PHP的语言层面的优化以及代码优化技巧
PHP实例:上传多个图片并校验的代码
用php+odbc+access数据库来操作函数
用PHP来实现页面GZIP的压缩输出教程
PHP进阶技巧:php用流方式制作缩略图
使用php 5时MySQL返回乱码的解决办法
新手如何使用PHP来创建RSS的阅读器
PHP实用:用PHP来实现图片的简单上传
利用php和js来轻松实现页面数据的刷新
在PHP中使用随机数的三个步骤详细代码
PHP进阶技巧:如何避免表单的重复提交
PHP技术进阶 PHP SOCKET 技术研究
PHP技术进阶:php用流方式制作缩略图

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 56 ::
收藏到网摘: n/a

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

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

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

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

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

<view-resources
appTitle="FlashJacks’SleekTabSite"
copyright="[email protected]."
contactInfo="[email protected]"
processTags="true"
compileAll="true"
className="MyViewResourcesConfig">
<!--WecansetsomepropertiesonourcustomViewResourcesConfigclass-->
<set-propertyproperty="areaManager"value="JoeJ.BlogsEsq."/>
</view-resources>
模板页面处理使用模板标签系统能被<view-resources>结点来控制.首先我们能定义是模板标签系统编译所有模板页面还是只编译修改过的.其次,我们能定义模板标签系统是否真的要处理标签页面,处理标签页面在应用程序配置当中和配置之后很有用.下面单元显示的<view-resources>是将compileAll和processTags属性设置为真(总是处理标签页并且处理所有标签页):

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

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

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

ActionObjects

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

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

SavingActionObjectsinActionFormClasses
ActionErrors$this->saveErrors($request,$actionErrors)
 FormBeans$this->saveFormBean($request,$this)
ValueObjects$this->saveValueObject($request,$valueObject)

SavingActionObjectsinActionClasses
ActionErrors$this->saveErrors($request,$actionErrors)
FormBeans$this->saveFormBean($request,$form)
ValueObjects$this->saveValueObject($request,$valueObject)

RetrievingActionObjectsinViewResources(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

ViewResources

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

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

<!--PageHeader-->
<span>
<@=viewConfig.getAppTitle@>
</span>

配置ActionDispatcher

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