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


Posted in PHP onSeptember 05, 2006

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

    建立模板标签系统应用程序只需几个步骤.
    注意:以下步骤假设使用了新的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  'webmaster@myhost.com'
 $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
PHP 相关文章推荐
PHP实现分页的一个示例
Oct 09 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
Laravel5中Cookie的使用详解
May 03 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
PHP.MVC的模板标签系统(四)
Sep 05 #PHP
PHP.MVC的模板标签系统(三)
Sep 05 #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
You might like
Home Coffee Roasting
2021/03/03 咖啡文化
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python调用staf自动化框架的方法
2018/12/26 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
Python下载的11种姿势(小结)
2020/11/18 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
计算机操作自荐信
2013/12/07 职场文书
五年级科学教学反思
2014/02/05 职场文书
技术比武方案
2014/05/19 职场文书
五一促销活动总结
2014/07/01 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
廉政承诺书2015
2015/04/28 职场文书
小学教学工作总结2015
2015/05/13 职场文书