PHPCMS V9完全开发介绍

PHPCMS V9 文件目录结构:
根目录
| – api 接口文件目录
| – caches 缓存文件目录
| – configs 系统配置文件目录
| – caches_* 系统缓存目录
| – phpcms phpcms框架主目录
| – languages 框架语言包目录
| – libs 框架主类库、主函数库目录
| – model 框架数据库模型目录
| – modules 框架模块目录
| – templates 框架系统模板目录
| – phpsso_server phpsso主目录
| – statics 系统附件包
| – css 系统css包
| – images 系统图片包
| – js 系统js包
| – uploadfile 网站附件目录
| – admin.php 后台管理入口
| – index.php 程序主入口
| – crossdomain.xml FLASH跨域传输文件
| – robots.txt 搜索引擎蜘蛛限制配置文件
| – favicon.ico 系统icon图标

2.url访问
参数名称 描述 位置 备注
m 模型/模块名称 phpcms/modules中模块目录名称 必须
c 控制器名称 phpcms/modules/模块/*.php 文件名称 必须
a 事件名称 phpcms/modules/模块/*.php 中方法名称

eg:http://yourdomain.com/index.php?m=content&c=index&a=show&id=1
m = content 为模型/模块名称 位于phpcms/modules/content
c = index 为控制器名称 位于phpcms/modules/content/index.php
a = show 为时间名称 位于phpcms/modules/content/index.php 中show()方法
id = 1 为其他参数 与正常get传递参数形式相同
如果我们访问您的域名 如:http://www.yourdomain.com/index.php
phpcms默认路由会定位到content模块的index控制器中的init操作,因为系统在没有指定模块和控制器的时候,会执行默认的模块和操作。因此下面的URL的结果是相同的:
系统还支持URL路由的功能,这些都能够带来其他的url访问效果 http://www.yourdomain.com/index.php?m=content&c=index&a=init 一样效果
3.系统类库与函数库调用
1.系统类库位于系统的phpcms/libs/classes目录下面,函数库文件名为*.class.php,其中global.func.php为框架中默认加载,global.func.php中函数可直接使用

2.系统函数库位于系统的phpcms/libs/functions目录下面,函数库文件名为*.func.php

系统类库调用:
$http = pc_base::load_sys_class(‘http‘); //实例化http类
pc_base::load_sys_class(‘format‘, ‘‘, 0); //调用form类,不进行实例化操作

系统函数库调用:
pc_base::load_sys_func(‘mail‘); 调用mail函数包
PHPCMS命名规范:
类文件需要以.class.php为后缀(这里是指的phpcms的系统类库文件和模块中的类库文件,第三方引入的不做要求),例如http.class.php。
  函数文件需要以.func.php为后缀(第三方引入的不做要求),例如mail.func.php。
  类名和文件名一致,例如 phpcmsapp类的文件命名是phpcmsapp.class.php。
  数据模型需要以“数据表名称_model.class.php”为形式,类名称与文件名必须相同。

4.配置文件调用:
配置文件配置在caches/configs/目录下。
配置文件调用:使用 load_config方法
$upload_url = pc_base::load_config(‘system‘,‘upload_url‘);

5.二次开发小技巧:
1.如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过"MY_*.php"的形式进行二次开发。
例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"
MY_index.php代码如下
<?php
  class MY_index extends index{
    function __construct() {
      parent::__construct();
    }

    ……your code
}
?>
这样当您通过url访问index控制器的时候,系统会默认指向MY_index.php 并且原文件的方法将被继承,可以直接使用。(继承)

配置:
1.数据库配置:
数据库配置文件位置:caches/configs/database.php
我们打开这个配置文件,加入我们的数据库配置信息。数据库配置信息为二维数组结构,默认为default,可以根据default结构配置多个数据库链接(如:extended_1)
2.路由配置
路由配置文件位置:caches/configs/route.php
我们打开这个配置文件,加入我们的路由配置信息。路由配置信息为二维数组结构,默认为default。
3.系统配置
系统配置文件位置:caches/configs/system.php

在控制器中增加模板调用:
phpcms 可以实现完全的模板与程序分离,所以在我们的控制器程序中要加载模板,才可以更友好的显示出来。
1.加载前台模板
前台模板文件在phpcms\templates\default\模块名称 目录中,本示例也就在phpcms\templates\default\test中
加载模板方法如下:
include template(‘test‘, ‘mytest‘, ‘default‘);
其中 test为模块名称 mytest 为模板目录下模板名称,default为风格名称,默认不填为defalut
2.加载后台模板
后台模板文件在phpcms\modules\模块名称\templates 目录中,本示例也就在phpcms\modules\test\templates 中 加载模板方法如下:
include $this->admin_tpl(‘mytest_admin_list‘);
其中mytest_admin_list为phpcms\modules\test\templates中mytest_admin_list.tpl.php,注意:此处模板必须以.tpl.php 作为后缀

数据模型类:
数据库模型位于:phpcms/model/ 目录下。数据模型文件的命名规则建议为数据表称+‘_model.class.php‘ 如果在我们的创建的模块中我要使用一个数据库“test”,首先需要建立一个数据库模型文件,文件名称为‘test_model.class.php‘
<?php
  defined(‘IN_PHPCMS‘) or exit(‘No permission resources.‘);
  pc_base::load_sys_class(‘model‘, ‘‘, 0);
  class test_model extends model {
    public function __construct() {
    $this->db_config = pc_base::load_config(‘database‘);
    $this->db_setting = ‘default‘;
    $this->table_name = ‘test‘;
    parent::__construct();
  }
 }
?>
注意:
1.数据库模型类名称必须与文件名称相同;
2.$this->db_setting = ‘default‘为数据库配置文件中配置数据库链接池名称,默认为default,一般情况下不需要修改。
3.$this->table_name = ‘test‘为数据表名称
控制器中使用:
<?php
  defined(‘IN_PHPCMS‘) or exit(‘No permission resources.‘);
  class mytest {
    private $db;
     function __construct() {
      $this->db = pc_base::load_model(‘test_model‘);
    }
    public function init() {
      $result = $this->db->select();
      var_dump($result);
    }
  }
?>

模板标签使用:
常用:
{pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$page" dbsource="discuz" return="data"}
<ul>
{loop $data $key $val}
{$val[username]}<br />
{/loop}
</ul>
{$pages}
{/pc}

开发流程

为你的phpcms创建一个模块的一般开发流程是:

创建数据库和数据表;(没有数据库操作可略过)
创建模块目录
创建模块控制器类;
创建模块类与模块函数;(如果只是简单的模块可以不必创建)
创建模板文件;
运行和调试。

时间: 2024-10-19 06:37:53

PHPCMS V9完全开发介绍的相关文章

PHPCMS V9 模块开发 二次开发实例 留言本

鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从哪儿进门的初学者走一下流程,欢迎指正! 对于像我这样的入门者希望先把上面这个文档仔细读一遍再往下看! 声明:我用的是GBK版本. 二次开发流程 创建数据库和数据库表(无数据库操作可略过) 创建数据模型文件 创建模块目录 开发控制器和模板 install和uninstall模块 一.创建数据库表 具体

基于phpcms v9开发的微信公众号平台管理模块

前沿 在公司为一家酒店联盟开发了一个微信公众号平台,期间因为要赶做其它项目,停停顿顿,整整 改改估计用在开发微信模块的时间大概一个多月,前期的开发基本上已经完成,因为这个微信公众号管理平台是在运用phpcms v9开发的,是phpcms v9的一个模块,所以给它取一个名称,就叫phpcmsv9-weinxin吧. 先上图 phpcmsv9-weinxin模块介绍 之所以叫做微信模块,是因为它是基于phpcms v9的一个插件,安装与卸载随性所欲.phpcms v9是中国领先的内容管理系统,将微信

PHPCMS V9二次开发自定义分页函数的解决方案

下面为大家分享一个PHPCMS V9二次开发自定义分页函数的方法. 方法如下: 首先打开 phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存. 打开 phpcms/libs/classes/template_cache.class.php,找到207行的: $str .= '$pages = pages($'.$op.'_total, $page, $pagesiz

phpcms V9 添加模块(转)

转自:http://www.cnblogs.com/Braveliu/p/5101345.html 为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms V9框架中的模块位于phcms/modules目录中,每一个目录称之为一个模块. 如果要创建一个模块,只要在 phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了. 例如我要开发一个叫做test的模块,那么首先在 phpcms/modules 目录下创建文件夹,并将其命名为tes

PHPCMS V9教程之快速入门

这篇文章要为大家来介绍PHPCMS V9这个系统的一些基本知识,PHPCMS是基于面向对象的,严格的安装MVC开发模式开发的CMS系统,同时他还是一个非 常不错的PHP框架.下面我们一起看一下PHPCMS V9的简单知识. 一.PHPCMS V9的目录结构 |-api api文件目录 |-caches 缓存和配置文件目录 |-html 生成静态页面文件目录,可以从配置文件中进行修改. |-phpcms 系统目录,非常重要.   |-languages 语言包目录   |-libs 系统类文件目录

Phpcms V9单页添加自定义字段

说起文章自定义自段,大家都会想到 wordpress 的自定义字段,确实 wordpress 系统很强大,字段可以很灵活的在后台进行添加与更新,并能够很好的在前台进行调用,对于这点 phpcms v9 就有点弱爆了,phpcms v9 是没有自定义字段这个功能的,只能要我们来进行二次开发. phpcms v9 文章内容的添加与更新选项已经很多了,基本上趋于完善,而关于 phpcms v9 单页 page就显得很简单,使用的字段只有三个:标题.关键词.内容,这往往不够使用,有时候需要添加更多的选项

【短信插件】短信验证码如何对接 PHPCMS V9.0

找到了一家不错的短信插件,有需要对接的可以查看学习,在这边分享一下,有需要的可以详细看看,了解一下.http://www.ihuyi.com/插件说明本插件系互亿无线针对phpcms V9.0短信插件开发,插件内的所有文件均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 功能介绍手机号短信验证注册 安装步骤1.下载phpcms V9.0互亿无线插件后解压得到phpcms\modules目录:2.打开phpcms V9.0系统管理后台->模块->模块管理->短

PHPCMS二次开发教程(转)

转自:http://www.cnblogs.com/semcoding/p/3347600.html PHPCMS V9 结构设计 根目录 |–api  结构文件目录 |–caches 缓存文件目录    |– configs 系统配置文件目录    |– caches_* 系统缓存目录 |–phpcms  phpcms框架主目录    |– languages 框架语言包目录    |– libs 框架主类库.主函数库目录    |– model 框架数据库模型目录    |– modules

window安装PHPCMS V9

一.准备工作 搭建环境 :参考:Windows下搭建PHP开发环境及相关注意事项 PHPCMS V9 :下载适合自己 PHPCMS V9 版本到本地或服务器,下载地址:http://www.phpcms.cn/html/download/  说明:官方提供了 2 种不同的编码.包括 GBK 简体中文版(推荐).UTF-8 简体中文版.如果您的站点主要是国内会员,推荐您使用 GBK 版本. 将install_package文件添加到Apache24\htdocs目录下 phpMyAdmin :下载