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 isset()与empty()的使用区别详解
Aug 29 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
Linux下php5.4启动脚本
Aug 03 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
php创建类并调用的实例方法
Sep 25 PHP
PHP中SESSION过期设置
Mar 09 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
1 Tube Radio
2021/03/02 无线电
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
Angular中支持SCSS的方法
2017/11/18 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
浅析Python中yield关键词的作用与用法
2016/11/29 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
Python列表推导式实现代码实例
2020/09/09 Python
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
不打扫卫生检讨书
2014/02/12 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
安全标准化实施方案
2014/02/20 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
教师工作失职检讨书
2014/09/18 职场文书
2014年防汛工作总结
2014/12/08 职场文书
小学班主任评语
2014/12/29 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
详解mysql三值逻辑与NULL
2021/05/19 MySQL