知识大全 初探PHPcms模块开发介绍

Posted 文件

篇首语:从某种意义来看,世间一切都是遇见,就像冷遇见暖,就有了雨;春遇见冬,就有了岁月;天遇见地,有了永恒;人遇见人,有了生命。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 初探PHPcms模块开发介绍相关的知识,希望对你有一定的参考价值。

初探PHPcms模块开发介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  由于工作关系 只能暂时放弃对mongodb的研究了 开始研究PHPcms

  目前为止我已经基本完成了模块的开发 趁著周末来这里做个总结 我发现phpcms写的还不错 不过文档什么的确实不多

  不说废话了 对于phpcms的模块开发 首先要了解模块的目录结构

  我们可以在

  找到他的目录结构 我们要开发的东东(也就是模块)就在/phpcms/modules/下面

  如果没有什么特别的 在开发一个模块之前先要按照目录结构建立好相关目录并且设计好数据库表结构 比方说 我们建立一个模块叫做我的模块 my_test

  下面应该是mytest下的目录结构


  mytest

   class //这个是mytest模块会用到的类

   function//mytest模块用到的函数

   install//安装此模块需要的一些配置文件和建立数据表myslq语句什么的在这里

   language//多语言的时候会用到

   config ini php//这个配置文件是用来描述整个模块的一些信息

   extention inc php//这个是创建目录结构 这个文件也用来控制权限

   model php//模块使用了哪些数据模型 (可以理解为使用了哪些表 )

   model sql//这个向数据库里面插入模型的记录

   my_test sql//这个文件在安装的时候会被执行 把建立数据库表的sql放进来

   templates // mytest模块用到的模板文件

   uninstall //卸载模块时候用到的配置和文件

  这个里面的文件我没研究 回头研究了补上

  my_test php //这个是mytest模块的后台控制器文件`

  index php//这个是前台的控制器 这个我没写东西


  建立完一个这样的结构后 我们还需要在/phpcms/model/下面建立我们的数据模型

  例如 my_test_model class php (这个使用了很典型的工厂模式)

  具体每个文件里面写了些什么 我们一个一个来看 首先来看我们在model文件夹下面写的那个文件

 代码如下: <?php defined( IN_PHPCMS ) or exit( No permission resources ); pc_base::load_sys_class( model ); class my_test_model extends model public function __construct() $this >db_config = pc_base::load_config( database ); $this >db_setting = default ;//默认的数据库配置 //多个库的话可以在这里选库 $this >table_name = my_test ;//这个就是表名称 不用加表前缀 parent::__construct(); ?>

   第一行的作用是确定是不是在phpcms的运行框架内

  第二行加载系统的model类 后面的参数 的意思是并不实例化

  最后一行调用了父类的构造方法 可以在phpcms/libs/classes/model class php中找到

  而这个model类里面定义了很多对数据的操作方法 最基本的增删改查 以后我再详细说说model基本的一些方法

  接着来看看modules 里面的东东

  我们一个个往下面看 第一个language 是用来支持多语言菜单的

  然后是config ini php 这个里面写的是一些关于模块安装时候的信息

  文件里面是这个结构的

代码如下: $module = mytest ;//使用的model $modulename = 这里是模块的名称 ; $introduce = 模块的描述信息 ; $author = 作者 ; $authorsite = 作者网站 ; $authoremail = 作者email ;

   里面标注的很清楚了

  接着是extention inc php 这个文件是用来创建后台管理菜单的目录结构的 也是用来控制权限的

代码如下: $id= $menu_db >insert(array( name => 这里写着操作名称 parentid =>父ID m => 模块 c => 控制器 a => 动作 data => listorder =>排序 display => 是否显示 ) true);//最后的true是用来返回ID的

   文件最后应该有一个数组 这个数组是用来插入系统的languagezh cnsystem_menu lang php里面的 格式如下

复制代码 代码如下: $language = array( 这里是你起的操作名称 => 这里是操作的中文翻译 类似: mytest_init => 显示列表 );

   然后是model php 这个就是你使用了哪些数据模型 可以理解为使用了哪些表

复制代码 代码如下: return array( mytest my_test_artcle );

   然后是model sql 这个是用来向系统的模型表里面插入数据用的

复制代码 代码如下: INSERT INTO `phpcms_module` (`module` `name` `url` `iscore` `version` `description` `setting` `listorder` `disabled` `installdate` `updatedate`) VALUES ();

   然后是mytest sql 建立你数据库表的语句应该写在这个文件里面

  接着就是你所使用的模板 应该放在templates里面 命名的规则应该是 mytest_add tpl php

  最后是你的控制器 这个有的研究了 控制器里面是针对你每个url传递过来的action也就是a=?的动作 默认动作是init

 代码如下: <?php defined( IN_PHPCMS ) or exit( No permission resources ); pc_base::load_app_class( admin admin ); class mytest extends admin() public function __construct() parent::__construct;//调用父类的构造函数 public function init() echo "这里是默认的操作方法"; public function add() include $this >admin_tpl( mytest_add );//使用模板的方法 cha138/Article/program/PHP/201311/21135

相关参考

知识大全 phpcms v9模板安装教程哪里有下载

phpcmsv9模板安装教程哪里有下载?想学习PHPCMS仿站,如果能找到PHPCMS二次开发的视讯教程更好了  以下文字资料是由(全榜网网www.cha138.com)

知识大全 软件项目开发之 软件过程RUP初探(图)

软件项目开发之软件过程RUP初探(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Abstr

知识大全 Struts中实现多人合作多模块开发方式

Struts中实现多人合作多模块开发方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET项目开发指南:系统功能模块

ASP.NET项目开发指南:系统功能模块  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nbs

知识大全 ASP.NET项目开发指南:Blog系统功能模块

ASP.NET项目开发指南:Blog系统功能模块  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET项目开发指南:网络书店系统功能模块

ASP.NET项目开发指南:网络书店系统功能模块  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET项目开发指南:企业信息管理系统功能模块

ASP.NET项目开发指南:企业信息管理系统功能模块  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

凝结水处理回用初探

文章针对凝结水中由于油、铁和盐超标无法直接回用的问题,开发出复合膜凝结水除油除铁装置,并针对不同企业凝结水系统和水质特点提出系统解决方案,成功应用于石化行业,达到节能减排,提高企业经济效益的目的。凝结

凝结水处理回用初探

文章针对凝结水中由于油、铁和盐超标无法直接回用的问题,开发出复合膜凝结水除油除铁装置,并针对不同企业凝结水系统和水质特点提出系统解决方案,成功应用于石化行业,达到节能减排,提高企业经济效益的目的。凝结

凝结水处理回用初探

文章针对凝结水中由于油、铁和盐超标无法直接回用的问题,开发出复合膜凝结水除油除铁装置,并针对不同企业凝结水系统和水质特点提出系统解决方案,成功应用于石化行业,达到节能减排,提高企业经济效益的目的。凝结