PHPCMSV9产品开发权威指南.docx
《PHPCMSV9产品开发权威指南.docx》由会员分享,可在线阅读,更多相关《PHPCMSV9产品开发权威指南.docx(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PHPCMSV9产品开发权威指南盛大在线平台运营中心PHPCMS项目部2011年3月1.2. 4模块化开发方便扩展系统引入模块式开发理念,内置功能模块可自由地安装与卸载,V9特别设 计的二次开发扩展方式,在不改变核心程序本身代码的同时,也可订制或者自行 开发新功能,扩展新的功能。1 .灵活的功能模块管理系统内置部分功能模版,可根据自身使用需求,随时通过系统管理后台进行 安装或者者卸载。这些功能的增加或者者减少,不可能影响到整个核心系统的功 能正常使用。模块名称模块目录版本号安装日期更新日期管理操作adminadmin1.02010-10-182010-10-18禁止公告announce1.02
2、010-10-262010-10-26卸载附件attachment1.02010-09-012010-09-06禁止碎片block1.02010-09-012010-09-06禁止CNZZ统计cnzz1.02010-10-272010-10-27卸载采集模块collection1.02010-09-012010-09-06卸载评论comment1.02010-10-222010-10-22卸载可自由安装卸载功能模块1.2. 5数据表分离网站在Web 2.0时代,经常面临迅速增加的访问量(这是好情况),但是我 们的应用如何满足用户的访问需求?基本上我们遇到的性能瓶颈都是在数据库 上,要满足大访问
3、量确实关于任何一款数据库都存在很大的压力,不论对商业数 据库 Oracle、MS SQL Server. DB2 之类,还是开源的 MySQL、PostgreSQL,都 是很大的挑战,解决数据库压力问题最简单的办法就是把数据分散存储在不一致 的数据库上,来减小单个数据库的压力。V9数据模型功能,同意用户把不一致的数据表,分离到不一致的数据库服务器上。以实现负载的分离,更加符合大访问量网站的需求。为用户提供更好的 用户体验。致的配置选项。因此还要取出当前站点的配置信息,代码如下:$now_setting = $setting$this-siteid; 当前站点的酉己置接下来配置程序分为二个部分:
4、一、显示当前站点配置选项extract($now_setting);include $this-admin_tpl(setting);extract 0函数从当前站点配置的数组中把变量导入到当前的符号表中。然 后加载配置模块setting. tpl. php.进行配置选项的显示。代码如下:二、提交当前站点配置选项提交配置时,首先将配置信息重新写入缓存文件。然后再对模块表对应 guestbook记录进行更新,把新的配置更新至数据记录里。代码如下:if(isset($_POSTdosubmit) $setting$this-siteid = $_POSTsetting;setcacheCguest
5、book, $setting, commons);$set = array2string($setting);$m_db-update(array(setting,=$set), array(module=ROUTE_M);showmessage(嘈己置更新成功J?m二guestbook&c二guestbook&a二init); )下面对上面代码进行分析:首先取出当前提交的配置,赋值给对应变量。Ssetting为前面取出来的配 置信息转化而来的数组,更新此站点的配置,只需要更新$setting里对应站点 的数组。$setting$this-siteid = $_POSTsetting;重新把配
6、置写入缓存文件setcache(guestbook, $setting, commons);Setcache()为系统共用函数,有三个参数,分别为要生成的缓存文件名称、内容、存放路径。更全面的定义内容,请查看global, func. php文件。然后加载模块数据模型,把最新配置信息从数组形式转化为字符串,更新至 数据库中。$set = array2string($setting);$m_db-update(array(setting,=$set), array(module=ROUTE_M);showmessage(嘈己置更新成功?m=guestbook&c=guestbook&a二init
7、);小结:本小节介绍了模块配置函数的开发,其中涉及了缓存的操作方法,读缓存 setcache ()函数与 写缓存setcache ()函数。缓存文件的读写是系统很基本的一 个功能,系统多处均有使用。初学者能够全面查看一下二函数的具体参数配置。第5章PC标签使用说明5. 1 PC标签概述在PHPCMS V9系统中,首次正式开始使用PC标签做为数据获取的方式。熟 练使用PC标签将是PHPCMS V9二次开发是一个很重要的要求。我们将在接下来 的章节对PC标签的有关方面进行全面介绍。5. 1. 1什么是PC标签通俗的讲,PC标签是PHPCMS V9系统新定义的能直接调用数据库里面内容 的简单、友好化
8、的代码,你只需要设置几个简单的参数,就能非常方便的调出数 据库里面的内容,然后再结合模版样式,来做出千变万化的网站。另外PHPCMS V9系统也保留了 PHPCMS 2008版本功能强大的万能GET标签的 使用。对PHPCMS 2008版熟悉的读者,无疑是个好消息。6. 1.2 PC标签的样式pc:content action=lists cache=3600 num=,20 page=$page /pcPC标签务必以pc开头,并以/pc结尾的代码片段。当然不以/pc结尾并不可能引起程序致命性的错误,导致程序无法继续运 行。下列为两种已知可能会出现的问题:1 .当网页中出现两个PC标签时,可能
9、会使得没有闭合的PC标签之后的PC 标签数据与其混乱。2 .在后台可视化编辑时,可能出现网页结构错乱的问题。5. 2 PC标签语法下面我对pc标签的语法进行介绍,以内容模型的数据调取为例,首先PC 标签样式:pcxontent action=lists cache=3600 num=20 page=$page /pcPC标签中pc:冒号之后跟随的为模块名。如上面的例子中调用的是内容模型的PC标签。如下图:action=nlistn下面这个形式所代表的是参数。每一个PHPCMS V9模型都为其PC标签定义 了调用的参数。其中有一些调用参数是系统保留的参数,其对所有的PC标签都 是有效的。如下图:
10、参数名=参数值多个参数之间使用空格分开(如下图所示:),参数值能够使用双引号来包 含,引号都务必是成对出现的。pc:content参数名=参数值参数名=参数值参数名=参数值请查看PC标签保留参数有关章节,以熟悉具体保留参数及其用途。注意:参数务必使用,没有参数配置系统将无法从数据库中获取数据。5.3 PC标签保留参数下表为PC标签保留参数表,几乎所有的PC标签都支持这些保留参数设置变量名默认值说明actionnull本参数的值表示为操作事件,模型类PC标签务必 使用包含本参数,以说明要进行的操作。cache0缓存存储时间(单位秒)num20获取记录的条数,最后会被模板引擎处理成 limit传送
11、到处理函数中。pagenull当前分页。通常填写为$_GETpageurlrulenullURL规则returndata返回数据变量名下例中是一个完整的使用例子。如下图所示:pc:content action=lists catid=,25 num=20 page=$_GETpage return=dataloop $data $n $r$rtitle/loop) /pc4 PC标签数据显示pcxontent action=lists catid=25 num=20 page=$_GETpage return=dataPC标签数据都是以数组方式返回,你能够通过$data来获取到这个数组, 假如
12、你在PC标签中定义了 return参数,返回的数组将使用return的值来进行 获取。通常情况下你能够使用如下的方式来显示值:如下图所示:loop $data $key $val$val| title /loop基中的$丫21叮1与$丫21近k需要具体根据所使用的PC标签,返回的数 据来推断。不一致的PC标签所获取的数据不一致,当然要通过不一致的变量来 获取值。5.5 PC标签的分类上面介绍了 PC标签的定义与语法规则,与如何显示获取的数据。那么PC 标签又有那些分类呢?下面将作个介绍:在PHPCMS V9系统中,PC标签包含两个方面的类别,分别为:1 .工具类2 .模块类工具类,大体上能够懂
13、得为PHPCMS V9所提供的一些工具箱。请查看PC标签工具箱有关章节,以熟悉更多关于工具类的PC标签的更多信息。而模块类,是PHPCMSV9各个模型提供给大家调用模块数据的数据接口。当 然你也能够自己按需修改模块PC标签程序,来制作完全合自己要求的PC标签调 用程序,查看具体模块的有关说明章节,以熟悉更多关于模块类的PC标签的更 多信息。5. 6 PC标签工具箱PC标签提供了多种工具箱,如JSON, XML等工具箱,下面我将分别对各个工具箱进行介绍。5. 6. 1 JSON工具箱V9提供JSON工具箱,能够方便的调用外部JSON资源到网页中显示。JSON工具箱调用方式:以上为JSON的调用代
14、码url能够更换为你所希望的url地址参数列表:参数默认值说明urlnull要读取的JSON数据来源cache0缓存时间,对读取的数据进行数据缓存,单位为秒。不设 置该值表示不需要进行缓存returndata返回数组名。默认值为data特别提醒:PHP对JSON数据要求务必为UTF-8编码,假如你的网页为GBK或者其他非UTF-8编码,需要收到数据后进行一次转码。下列为一个完整的示例:loop $data $key $val$val,title,/loop)/pc6. 2 XML工具箱V9提供XML工具箱,能够方便的调用外部XML资源到网页中显示。这个定 义与上面json定义类似:XML工具箱
15、调用方式如下:以上为XML的调用代码url能够更换为你所希望的url地址。参数列表:参数默认值说明urlnull要读取的XML数据来源cache0缓存时间,对读取的数据进行数据缓存,单位为秒。不设置该 值表示不需要进行缓存returndata返回数组名。默认值为data特别提醒:当你远程获取的地址的编辑与你的网页的编码不一致时,需要收到数据后进行一次转码。下为一个完整的示例:loop $data $key $val$val,title,/loop/pc5. 6. 3 GET标签工具箱GET标签源自于PHPCMS 2008版,其使用SQL语句直接获取数据的特性,成为大家制作模板的首选。在V9中这
16、样强大的工具也得到保留下来。GET标签使用方式如下:pc:get sql=SELECT * FROM phpcms_member cache=3600 page=$page dbsource=discuz return=data loop $data $key $val$valusername/loop$pages)/pc从上面的代码里面能够看出GET标签所支持的参数。参照下面的列表熟悉每一个参数的用途:参数默认值务必说明sqlnull是要执行的SQL语句cache0否J缓存时间,单位为秒page0否分页,通过变量把当前的分布传给PC标签进行处理dbsourcenull否数据源,当你通过系统后
17、台的数据源模块配置过数据 源时,可把数据源名填写到这里,系统会去对应的数 据源来读取数据。假如要读取本系统的数据请留空returndata否返回的数据的变量5. 6. 4碎片工具箱碎片是什么?把一个完整的页面懂得成由许多块构成,而每一个“块”我们 就可认为就是一个“碎片”这样,我们在页面放置一些碎片,在以后的保护保护 中,只需要对碎片进行保护!PHPCMS V9中依然保留了 PHPCMS 2008中碎片功能。调用代码事比如下:|pc:block pos=index /pc参数参照表参数默认值务必说明posnull是碎片位置标识6. 5小结本章要紧介绍了 PHPCMS V9系统中PC标签的定义与
18、使用,与获取的数据如 何调取显示,熟练使用PC标签,并自定义合自己要求的PC标签,能够让你在PHPCMS V9二次开发上得心应手。也是二次开发一个很重要的技能要求,希望读 者认真熟悉。第6章PHPCMS V9与UCENTER的整合1 PHPSSO 简介SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户 只需要登录一次就能够访问所有相互信任的应用系统。它包含能够将这次要紧的V9内容管理系统V9内容管理系统数据库分禺1.2. 6完善的二次开发接口考虑到各类用户的需求差异性,系统在提供基本核心功能的前提下,同时也 增加了很规范化的二次开发接口。用户或者第三方插件开发
19、商,只需按照我们提 供的技术接口规范手册操作,就能够很方便快捷地开发出新的功能模块。由此可 见,只要能够想到的有用功能,都能够用V9框架来实现,具体二次开发技术接 口规范文档,请见附录官方网站。登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业 业务整合的解决方案之一。随着互联网的高速进展,WEB应用几乎统治了绝大部分的软件应用系统,随 着网站的进展,引入更多的不一致应用系统是必定的,但是不一致的系统拥有 不一致的身份验证,这样就会出现不一致的账名与密码,特别是关于不一致的应 用系统越多,用户数量大的网站。这个问题尤为突出。问题的原因并不是系统 的开发,而是缺少整体规划,缺
20、乏统一的用户登录平台。而正是使用SSO技术能 够解决以上这些问题。如下图示:应用系统三方便用户用户使用应用系统时,能够一次登录,多次使用。用户不再需要每次输 入用户名称与用户密码,也不需要牢记多套用户名称与用户密码。单点 登录平台能够改善用户使用应用系统的体验。管理员便于管理用户账号 系统管理员只需要保护一套统一的用户账号,方便、简单。相比之下, 系统管理员往常需要管理很多套的用户账号。每一个应用系统就有一套 用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。简化应用系统开发开发新的应用系统时,能够直接使用单点登录平台的用户认证服务,简 化开发流程。单点登录平台通过提供统一的认证平台
21、,实现单点登录。 因此,应用系统并不需要开发用户认证程序。PHPCMS V9首家引入SSO概念,实现对用户统一管理,协同公布。解决了目 前普通存在的,多用户多应用管理系统之间的整合问题。6. 2 PHPSSO 与 UCENTER 整合本教程案例选择V9系统集成安装PHPSSO,在安装过程中系统会自行进行 PHPCMS与PHPSSO的集成整合。在此不再详述。6. 2.1整合前期准备整合前,首先要确定UCENTER与PHPSSO已经安装运行正常。UCENTER的安 装请看本书有关章节。PHPSSO的安装分二种情况,一、是安装系统时一次性集成安装。二、系统 安装时,单独安装PHPSSO。单独安装时请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHPCMSV9 产品 开发 权威 指南
限制150内