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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
PHP程序员编程注意事项
Apr 10 PHP
php 获取客户端的真实ip
Nov 30 PHP
php debug 安装技巧
Apr 30 PHP
apache配置虚拟主机的方法详解
Jun 17 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 PHP
php绘制一条直线的方法
Jan 24 PHP
php如何执行非缓冲查询API
Jul 22 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
laravel 出现command not found问题的解决方案
Oct 23 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对象在内存中的存在形式分析
2015/02/03 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
Django自定义分页效果
2017/06/27 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Django自定义用户认证示例详解
2018/03/14 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python怎么对数字进行过滤
2020/07/05 Python
自荐信格式的六要素
2013/09/21 职场文书
制药工程专业应届生求职信
2013/09/24 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
视光学专业自荐信
2014/06/24 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
python多线程方法详解
2022/01/18 Python