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

  建立模板标签系统应用程序

  建立模板标签系统应用程序只需几个步骤.

  注意:以下步骤假设使用了新的SleeK例子应用程序(这个例子可以在www.phpmvc.net上找到).

  修改应用程序的boot.ini文件

  应用程序的boot.ini文件包含需要得到PHP.MVC框架的信息.boot.ini文件通常位于应用程序的"WEB-INF"目录下.为了设置应用程序使用模板标签类,我们需要在boot.ini文件中定义一些属性.

  TagActionDispatcher类

  TagActionDispatcher是ActionDispatcher类的标准实现.为了让框架能读取TagActionDispatcher类,我们为变量$appServerRootDir设置值为'TagActionDispatcher':

  // Setup the application specific ActionDispatcher (RequestDispatcher)

  $actionDispatcher = 'TagActionDispatcher';

  模板标签系统库根目录

  我们也需要设置路径指向我们的PHP.MVC库(需要文件系统的绝对路径):

  // Set php.MVC library root directory (no trailing slash).

  $appServerRootDir = 'C:\WWW\phpmvc-base';

  可选设置

  应用程序定时器可以使用$timerRun属性来设置开或关:

  // Timer reporting. 1=on, 0=off

  $timerRun = 1;

  还可以指导框架总是(强制)编译应用程序phpmvc-config.xml配置类(最好用在开发阶段,因为会比较慢),我们使用:

  // The application XML configuration data set:

  $appXmlCfgs = array();

  $appXmlCfgs['config'] = array('name'=>'phpmvc-config.xml', 'fc'=>True);

  或者仅在phpmvc-config.xml文件被修改的时候重新编译应用程序配置文件(在开发完成后使用此项设置,速度快),我们使用:

  // The application XML configuration data set:

  $appXmlCfgs = array();

  $appXmlCfgs['config'] = array('name'=>'phpmvc-config.xml', 'fc'=>False);

  设置应用程序模板目录

  当为模板标签应用程序设置模板目录时,我们需要去创建一个目录(和子目录),放置我们的应用程序模板文件.这个目录必须被命名为在View资源配置类的$tplDir属性所定义的值,默认是'./WEB-INF/tpl'.比如:例子应用程序有一个模板目录结构设置像这样:

  - PhpMVC-Tags

  Index.html

  Main.php

  WEB-INF

  tpl

  pageFooter.ssp

  pageHeader.ssp

  salePageBody.ssp

  sale

  pageContent.ssp

  我们也需要去创建目录放置编译的页面.这个目录必须被命名为在View资源配置类的$tplDirC属性所定义的值.默认是'./WEB-INF/tpl_C'.例子应用程序有一个模板目录结构设置像这样:

  PhpMVC-Tags

  Index.html

  Main.php

  WEB-INF

  tpl

  ...

  sale

  ...

  tpl_C

  pageFooter.sspC

  pageHeader.sspC

  salePageBody.sspC

  sale

  pageContent.sspC

  注意我们也需要在'./WEB-INF/tpl_C'下创建sale目录.

  设置PHP.MVC库的路径和包含

  检查以下路径设置已经被定义在GlobalPaths.php和globalPrepend.php文件在你的框架安装目录下的"/WEB-INF"目录下:

  GlobalPaths.php

  ------------------------------------------------

  $appDirs[] = 'WEB-INF/lib/phpmvc_tags';

  globalPrepend.php

  ------------------------------------------------

  include_once 'PhpMVC_Tags.php';

  如果他们没有在添加到路径里,那么就定义这些变量.

  安装PHP.MVC库

  下载最新版的PHP.MVC库:http://www.phpmvc.net/download/cvsIdx.php?doc=cvs-snaps

  解压库文档到一个目录.修改上面所描述过的路径设置和包含设置.

  运行例子应用程序

  下载例子应用程序.完整的例子代码文件和这个向导都能在这里下载:http://www.phpmvc.net/download/rel/phpmvc-tags-v1.0.zip

  解压到web服务器目录中.可能像这样:C:/WWW/PhpMVC-Tags

  修改应用程序和框架设置.

  为了测试例子程序,需要浏览器例子程序的首页:http://localhost/PhpMVC-Tags/Index.html

  附录A:ViewResources配置类

  ViewResourcesConfig类表现了<view-resource>元素的配置信息.

  下表列出了ViewResourcesConfig类的属性,条目描述和默认值:

  

Name  Description  Default Value
 $appTitle    The application title    'My Web Application'
 $appVersion    The application version    '1.0'
 $copyright    The copyright notice    'Copyright C YYYY My Name. All rights reserved.'
 $contactInfo    The contact information  '[email protected]'
 $processTags  Do we run the template engine processor (boolean)   False
 $compileAll  Force compile pages (boolean)  False
 $tagL  The left tag identifier     '<@'
 $tagR  The right tag identifier    '@>'
 $tplDir   The view resource templates directory   './WEB-INF/tpl'
 $tplDirC    The compiled templates directory    './WEB-INF/tpl_C'
  $extC  The compiled file notation. Eg: "pageContent.ssp[C]"   'C'
 $maxFileLength    The maximum size of the template files allowed, in bytes (integer)    250000
  $tagFlagStr    Indicates tag template file(s) to be pre-processed. Eg: "myPage.ssp"  '.ssp'
  $tagFlagCnt    The number of trailing filename characters to sample (".ssp" = -4)   -4