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
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
php命令行用法入门实例教程
Oct 27 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
PHP高并发和大流量解决方案整理
Dec 24 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
javascript removeChild 使用注意事项
2009/04/11 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
django中send_mail功能实现详解
2018/02/06 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python中字符串与编码示例代码
2019/05/20 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python中过滤字符串列表的方法
2020/12/22 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
任意存:BOXFUL
2018/05/21 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
国际经济贸易专业推荐信
2013/11/06 职场文书
如何写自我鉴定
2014/03/19 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
2014年团总支工作总结
2014/11/21 职场文书
保证书格式
2015/01/16 职场文书