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获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
实例讲解php数据访问
May 09 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php基础知识:函数基础知识
2006/12/13 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
对vux点击事件的优化详解
2018/08/28 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
Python编码爬坑指南(必看)
2016/06/10 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
python3中for循环踩过的坑记录
2020/12/14 Python
外贸业务员工作职责
2014/01/06 职场文书
生物科学专业自荐书
2014/06/20 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
Python 统计序列中元素的出现频度
2022/04/26 Python
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang