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 相关文章推荐
我的论坛源代码(八)
Oct 09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
新浪微博OAuth认证和储存的主要过程详解
Mar 27 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
PHP实现的数据对象映射模式详解
Mar 20 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
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php生成图片验证码的方法
2016/04/15 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
php时间戳转换代码详解
2019/08/04 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Python 统计字数的思路详解
2018/05/08 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
基于Python函数和变量名解析
2019/07/19 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
纽约海:Sea New York
2018/11/04 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
运动会广播稿50字
2014/01/26 职场文书
家长会主持词开场白
2014/03/18 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书