PHPCMS V9产品介绍

PHPCMS V9(简称V9)采用PHP5+MYSQL做为技术基础进行开发。V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。

5年开发经验的优秀团队,在掌握了丰富的WEB开发经验和CMS产品开发经验的同时,勇于创新追求完美的设计理念,为全球多达10万网站提供助力,并被更多的政府机构、教育机构、事业单位、商业企业、个人站长所认可。

V9在保留2008版的特点的同时,对新版本作出重大的创新,以期待全新的PHPCMS系统服务更多的用户。

-----------------------------------①---------------------------------

-----------------------------------②---------------------------------

-----------------------------------③---------------------------------

-----------------------------------④---------------------------------

<?php   

  define('PHPCMS_PATH',dirname(__FILE__).DIRECTORY_SEPARATOR);

  include PHPCMS_PATH.'/phpcms/base.php';

  pc_base::creat_app();

?>

-----------------------------------⑤---------------------------------

<?php

  define('IN_PHPCMS', true);

  define('PC_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);

  if(!defined('PHPCMS_PATH')) define('PHPCMS_PATH',

  PC_PATH.'..'.DIRECTORY_SEPARATOR);

  define('CACHE_PATH', PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR);

  …

?>

-----------------------------------⑥---------------------------------

-----------------------------------⑦---------------------------------

-----------------------------------⑦---------------------------------

-----------------------------------⑧---------------------------------

-----------------------------------⑨---------------------------------

<?php

 function new_addslashes($string){

   if(!is_array($string)) return addslashes($string);

   foreach($string as $key => $val) $string[$key] = new_addslashes($val);

   return $string;

 }

 ... … ... …

?>

-----------------------------------⑩---------------------------------

-----------------------------------十一---------------------------------

-----------------------------------十二---------------------------------

-----------------------------------十三---------------------------------

-----------------------------------十四---------------------------------

-----------------------------------十五---------------------------------

-----------------------------------十六---------------------------------

-----------------------------------十七---------------------------------

入口文件

pc_base::load_sys_func('global');

pc_base::load_sys_func('extention');

pc_base::auto_load_func();

pc_base::load_config('system','web_path')

pc_base:: load_sys_class($classname, $path = '', $initialize = 1)

pc_base:: load_app_class($classname, $m = '', $initialize = 1)

-----------------------------------十八---------------------------------

-----------------------------------十九---------------------------------

-----------------------------------二十---------------------------------

<?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();

  }

 }

?>

-----------------------------------二十一-------------------------------

-----------------------------------二十二-------------------------------

-----------------------------------二十三-------------------------------

<?php

  defined('IN_PHPCMS') or exit('No permission resources');

class mytest

{

  public function init() {

    echo 'this is a init';

  }

   public function mylist() {

    echo 'this is mylist<br>hello world';

  }

}

?>

-----------------------------------二十四-------------------------------

create TABLE v9_test(

id int auto_increment primary key,

title char(20)

);

insert into v9_test values(null,'this is a test');

insert into v9_test values(null,'hello world')

-----------------------------------二十五-------------------------------

<?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();

  }

}

?>

-----------------------------------二十六-------------------------------

<?php

defined('IN_PHPCMS') or exit('No permission resources');

class mytest {

   public function __construct() {

    $this->db=pc_base::load_model('test_model','',1);

  }

  public function init() {

    $arr=$this->db->select();

    //var_dump($arr);

    include template('test','mytest',‘default');

  }

}

?>

-----------------------------------二十七-------------------------------

-----------------------------------二十八-------------------------------

1.调用数据库模型

$this->db = pc_base::load_model('test_model');

其中$this->db中所支持的方法请参照phpcms/libs/classes/model.class.php中方法

2.加载系统类 $http = pc_base::load_sys_class('http'); //实例化http类 pc_base::load_sys_class('format', '', 0);

//调用form类,不进行实例化操作3.加载系统函

3.加载系统函数库 pc_base::load_sys_func('mail');

调用mail函数包

4. 加载模块类 $test = pc_base::load_sys_class(‘classname‘,’test’);

//实例化test模块下 classname类

5.加载模块函数库 pc_base::load_sys_func(‘global‘,’test’);

调用test模块的global函数包

-----------------------------------二十九-------------------------------

6.加载前台模板

include template('test', 'mytest', 'default');

7.加载后台模板 include $this->admin_tpl('mytest_admin_list');

8.权限控制 后台控制控制器需要加载admin模块下的admin类,并继承该类

<?php

defined('IN_PHPCMS') or exit('No permission resources.');

pc_base::load_app_class('admin','admin',0);

class mytest_admin extends admin {

         //这个控制器需要登录后台才可以访问

       }

?>

----------------------------------------------------------------------

----------------------------------------------------------------------

Phpcms·二次开发的更多相关文章

  1. [PC]PHPCMS二次开发指南(上)

    ------------------------------------------------------------------------------------- PHPCMS本身功能已经很完 ...

  2. phpcms二次开发笔记

    phpcms二次开发笔记 --soulsjie 以下载的全新的phpcms搭建一个新的站点为例,讲解如何利用phpcms进行二次开发 一.下载和安装phpcms http://www.phpcms.c ...

  3. PHPCMS二次开发教程(转)

    转自:http://www.cnblogs.com/semcoding/p/3347600.html PHPCMS V9 结构设计 根目录 |–api  结构文件目录 |–caches 缓存文件目录 ...

  4. PHPCMS二次开发教程

    PHPCMS V9 结构设计 根目录|–api  结构文件目录|–caches 缓存文件目录   |– configs 系统配置文件目录   |– caches_* 系统缓存目录|–phpcms  p ...

  5. PHPCMS 使用图示和PHPCMS二次开发教程(转)

    PHPCMS V9 核心文件说明 模块与控制器 模块: phpcms v9框架中的模块,位于phpcms/modules目录中 每一个目录称之为一个模块.即url访问中的m. 访问content模块示 ...

  6. phpcms二次开发步骤

    文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpc ...

  7. 邓_ Phpcms·二次开发

    PHPCMS V9产品介绍 PHPCMS V9(简称V9)采用PHP5+MYSQL做为技术基础进行开发.V9采用OOP(面向对象)方式进行基础运行框架搭建.模块化开发方式做为功能开发形式.框架易于功能 ...

  8. phpcms二次开发中无法获取SESSION的值

    今天在在phpcms开发留言板用到验证码,提交数据,后台无法$_SESSION['code']无法获取验证码值,也无法打印var_dump($_SESSION)值,我们只需要在文件头部添加如下代码: ...

  9. phpcms 二次开发数据过滤的技巧

    参数过滤 1,针对不能直接使用pdo进行参数绑定,可以使用sprintf模拟,并使用new_addslashes来过滤,然后使用query执行拼接的sql %% - 返回百分比符号 %b - 二进制数 ...

随机推荐

  1. STM32学习笔记(四)——串口控制LED(中断方式)

    目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类 ...

  2. git 设置不需要输入密码, 去除 fetch / pull 代码每次都需要输入密码的烦恼

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...

  3. Linux的kobject机制

    作者:Younger Liu 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. sysfs文件系统下的每个目录对应于一个kobj,kset是kobj的封装,内 ...

  4. Linux下安装单机版zookeeper(和dubbo配合验证)和redis(用图形化界面连接验证)

    上次写了篇zookeeper的集齐,并且用dubbo admin验证了集群结果.最近又特地装了个虚拟机,专门装各种单机版的,免得跟集群的机器混合了.安装的虚拟机IP为192.168.1.108 1.单 ...

  5. hdu1698线段树区间更新

    题目链接:https://vjudge.net/contest/66989#problem/E 坑爹的线段树照着上一个线段树更新写的,结果发现有一个地方就是不对,找了半天,发现是延迟更新标记加错了!! ...

  6. WOW.js轻松为网页添加动画切入效果

    由于坐忘的需要,经常会有部分功能用的很多,做起来又很繁琐,所以插件也就应运而生了.个人感觉正式js强大的可植入性, 才使他如此的使用火爆,反正博主是特别喜欢这一点  Y(^o^)Y~ . 今天就和大家 ...

  7. abstract、virtual、sealed

    abstract与virtual前必有public 1.abstract,抽象 1)只要使用到了abstract定义了方法,那么类就一定得用abstract定义,public abstract,只有抽 ...

  8. win10 64位下装Virtual Box安装Linux(centOS)配置联网

    第一步:安装VritualBox 百度"VritualBox"下载安装即可: 第二步:下载Linux镜像系统并安装 这里写出我参照的博客,很详细,我就不累赘了! 原文地址:http ...

  9. JavaScript ,Python,java,C#,Go系列算法之【插入排序篇】

    常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等.用一张图概括: 插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法. ...

  10. 如何在WebGL全景图上做标记

    WebGL可以用来做3D效果的全景图呈现,例如故宫的全景图.但有时候我们不仅仅只是呈现全景图,还需要增加互动.故宫里边可以又分了很多区域,例如外朝中路.外朝西路.外朝东路等等.我们需要在3D图上做一些 ...