iWebSNS二次开发添加模块手记.doc_第1页
iWebSNS二次开发添加模块手记.doc_第2页
iWebSNS二次开发添加模块手记.doc_第3页
iWebSNS二次开发添加模块手记.doc_第4页
iWebSNS二次开发添加模块手记.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我们以helloWord模块做一个实例: 1、 我们先建立一张表helloword表 ,以实现对数据的存储,此实例只实现了很简单的应用,主要是为了演示如何添加自己定义的功能模块。建表代码如下: 创建数据表 创建数据表 CREATE TABLE isns_helloWord ( id int(10) NOT NULL AUTO_INCREMENT, msg varchar(200) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 如果操作MySQL数据库时遇到一个问题,创建表的时候使用engine=InnoDB,结果得到一个错误提示:The InnoDB feature is disabled:you need mysql built with InnoDB to hava it working.这句英文还是懂的,InnoDB没有工作,肯定是配置MySQL的时候没有开启这个功能。找到AppServ目录下的MySQL目录,找到my.ini文件,记事本打开,找到skip-innodb这行,前面加一个#。done!当然,修改前先关闭MySQL,修改完后再重启MySQL,就可以使用innodb引擎了。2、 在action目录下建立一个文件夹helloword,在此目录下建立文件helloword_add.action.php,helloword_del.action.php文件,同时在foundation目录下建立一个model_helloword.php文件【说明:格式为model_模块名.php 文件,主要有以下目的:把对模块的操作封装成对应的函数,方便以后内部的修改和添加,同时对开发API和方便外部调用打下基础】 3、 Helloword_add.action.php文件代码如下: exeUpdate($sql) action_return(1,添加测试成功!,); /回应信息 action_return(0,添加测试失败测!,); ? Helloword_del.action.php文件代码如下: $hello_id=short_check(get_args(hello_id); /数据表定义区 $t_blog=$tablePreStr.helloword; $dbo = new dbex; /读写分离定义函数 dbtarget(w,$dbServs); $sql=delete from $t_blog where id= $hello_id ; if($dbo-exeUpdate($sql) action_return(1,删除测试成功!,); /回应信息 action_return(0,删除测试失败测!,); 4、 在modelsmodules目录下建立helloword目录,在此目录下建立helloword_list.php文件,实现对数据库信息的提取,代码如下: getRs($sql); ? 5、 在目录templatesdefaultmodules目录下建立helloword目录,在此目录下建立文件helloword_list.html文件,templatesdefault 目录下的结构要和models目录下的结构完全一样,并且文件名也要一样,只是文件的扩展名不同,helloword_list.html文件的代码如下: HelloWord 编号信息操作 sta:foreach($hello_list as $rs)loop echo:$rsid;/echo:$rsmsg;/删除 end:foreach/ 信息: 6、 完成以上文件后,在do.php文件注册上对应的资源信息,即在$actArray数组中加入如下信息hello_add=array(action/helloword/helloword_add.action.php,modules.php?app=hello),hello_del=array(action/helloword/helloword_del.action.php,modules.php?app=hello) 7、 在modules.php文件中注册上对应的视图文件信息,即在$appArray数组中加入hello=modules/helloword/helloword_list.php信息,【注:modules/helloword/helloword_list.php文件指的系统编译生成的文件路径】 8、 到后台找到自己定义的模板,选中进行编译,然后登录系统,在地址栏中输入,http:/localhost/iwebsns/modules.php?app=hello ,系统将通过modules.php拦截容器转向视图页面。说明系统是基于MVC的模式架构思想开发的,现介绍一下平台的MVC架构。MVC(Model;View;Controller,模型视图控制器模式)Controller(控制器):主要包括:对用户的请求进行拦截转发处理do.php:主要是拦截Action请求,通过转发实现交互处理。该文件开头部分:?phpheader(content-type:text/html;charset=utf-8);require(foundation/asession.php);require(configuration.php);require(includes.php);格式:do.php?act=操作名处理:先验证是否有操作权限(是否已经登录,是否为可操作模块),接下来if(array_key_exists($actId,$actArray)$acttarget=$actArray$actId;require($acttarget0);else echo error;通过act传过来的参数,查询系统定义的Action资源表,找到相应的操作行为require,然后由相应操作文件处理完成后,由操作文件执行do.php定义的回调函数action_return($state=1,$retrun_mess=,$activeUrl=模块连接(空值将返回main.php页)),转向相应模块页面。如图:modules.php:主要是控制前台模块的显示。该文件开头部分:?phpheader(content-type:text/html;charset=utf-8);require(foundation/asession.php);require(configuration.php);require(includes.php);格式:modules.php?app=模块名。通过app传过来的参数,if(array_key_exists($appId,$appArray)$apptarget=$appArray$appId;require($apptarget);elseecho top.location.href=.$siteDomain.$indexFile.;查询modules资源表,找到相应的资源文件,转向对应模块页面。如图:其中,foundation/asession.php的全部内容如下:?php /用于SI库添加多服务器时的SESSION共享配置,SI库采用最高效的基于分布式内存缓存的共享方式session_start();文件configuration.php,为系统配制文件,可由后台设置文件includes.php,为系统公共包含文件,其中包含了语言包文件和/offline信息页面/访问限制/数据库配置及连接文件/表操作类/过滤函数/main_iframe呈现应用工具控制函数/时间函数/文件上传函数/积分配置/封装session/封装cookie/封装get post/权限验证,这些函数。Model(模型):主要包括:各个功能模块以及对数据库底层的操作Action 目录:负责系统添加、修改、删除请求的处理模块文件存放了(图2)中的对应Action资源文件,实现与数据库的交互处理,使数据永久保存在数据库中,主要体现在对数据库的添加、修改、删除上。Models 目录:系统的所有模型文件存放了(图3)中的modules资源文件的PHP代码部分,实现对数据库的访问,主要体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论