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 程式大小
Dec 06 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
php计算整个目录大小的方法
Jun 19 PHP
CI框架常用方法小结
May 17 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 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验证码(支持中文)
2007/02/14 PHP
php共享内存段示例分享
2014/01/20 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
python显示生日是星期几的方法
2015/05/27 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
python监控文件并且发送告警邮件
2018/06/21 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
人事部经理岗位职责
2014/03/07 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis
利用Apache Common将java对象池化的问题
2022/06/16 Servers