PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。

入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。

PHPCMS框架入口文件base.php:

文件路径:根目录/phpcms/base.php 代码片段如下:

该文件为框架入口文件,包含实例化系统/模块类方法,调用系统/模块方法,系统常用常量等。如:

pc_base::load_model('*_model') 加载数据库模型 类

pc_base::load_sys_class('classname') 实例化系统类

pc_base::load_app_class('classname’,’admin') 实例化模块类

pc_base::load_sys_func (‘funcfile’) 调用系统函数库

pc_base::load_sys_func('global','test'); //加载模块函数库(调用test模块的global函数包)

实例化一个应用

文件路径:根目录/index.php

这段代码首先加载了 phpcms 框架的引导文件 base.php,然后调用其静态方法creat_app()根据指定的配置文件建立了一个 Web 应用实例并运行。

数据库配置文件database.php的调用

文件路径:根目录/caches/configs/database.php

这段代码首先使用 pc_base::load_app_func()加载了index模块自定义的函数库global.func.php,这样就可以随心所欲地调用global.func.php自定义的函数了。使用pc_base::load_config()静态方法加载了phpcms的数据库配置文件database.php,获取数据库的配置信息,这样可以摆脱PHPCMS框架的局限性,使用原生态的PHP mysql去进行二次开发。

实例化模块类

这段代码使用pc_base::load_app_class()方法实例化admin模块的admin.class类。

由此我们知道,不管我们是调用PHPCMS框架里面的系统类或函数库还是调用自定义的模块类或函数库等,我们都可以在base.php里找到需要的调用方法,所以PHPCMS二次开发,弄清base.php里面的静态方法至关重要。

http://www.bkjia.com/PHPjc/440257.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440257.htmlTechArticlePHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只...

php pc_base,phpcms二次开发之base.php的桥梁作用_PHP教程相关推荐

  1. U9二次开发之BP定时任务插件开发

    采购订单BP定时任务插件开发 最近我们公司要做采购订单审批和OA的集成,也就是把u9的审批流程搬到OA里去做.当业务员点击标准采购提交按钮的时候,把采购订单的信息触发到OA流程,在OA里做审核,OA审 ...

  2. AutoCAD .Net二次开发之JIG动态绘制详解

    AutoCAD .Net二次开发之JIG动态绘制详解 AutoCAD平台动态绘制分两种,单实体绘制EntityJig和多实体绘制DrawJig,需要自己自定义类去继承.(本人的理解全放在了代码注释中, ...

  3. C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处

    我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1.Data2.Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed P ...

  4. C#进行Visio二次开发之Web查看Visio图纸

    前面介绍的Visio开发知识,都是基于Winform的Visio的开发知识,图纸的展示都是基于Winform方式展示的.但很多时候,如果能够通过Web方式可以查看最新的图纸信息,那么系统将更加趋向完美 ...

  5. C#进行MapX二次开发之MapX基础知识

    C#进行MapX二次开发之MapX基础知识 MapX的主要技术特点 (1). 以表(Table)的形式组织信息 每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件.为使用MapIn ...

  6. Vissim11二次开发之C#---实现仿真时间内实施不同信号控制方案

    Vissim11二次开发之C#-实现仿真时间内实施不同信号控制方案 本文起源:近些日子,由于论文仿真需求,重重重操Vissim旧业. 先说下需求情况吧:路网区域优化前后两种信号控制方案,由于论文场景要 ...

  7. AutoCAD .Net二次开发之Editor选择集

    AutoCAD .Net二次开发之Editor选择集 PickFirst选择集 一般选择集 选择集过滤SelectionFilter Editor的路径: Autodesk.AutoCAD.Appli ...

  8. Datax 插件二次开发之parquet日志问题处理

    Datax 插件二次开发之parquet日志问题处理 Date: December 31, 2021 参考文档: https://blog.csdn.net/wuleidaren/article/de ...

  9. Revit二次开发之DMU

    Revit二次开发之DMU   Revit是一款三维联动的设计软件,一处修改处处修改, 比如,在三维视图修改了墙的位置,二维视图上墙的位置也跟着变化了,同时,墙上的门窗也会跟着移动. 这种联动关系是R ...

最新文章

  1. rtsp连接断开_live555学习之RTSP连接建立以及请求消息处理过程
  2. [js高手之路] vue系列教程 - vue的事件绑定与方法(2)
  3. 1295 N皇后问题
  4. Android官方开发文档Training系列课程中文版:创建自定义View之View的优化
  5. 套接字TCP控制台程序客户端代码示范
  6. Nagios(八)—— Nagios Web 端管理工具Nagiosql
  7. 在JavaScript中将字符转换为ASCII代码
  8. Python设计模式:工厂模式
  9. BSC(币安智能链)主网链部署
  10. SVN和git的优缺点比较
  11. pyplot输出的绘图界面出现中文乱码的解决方案
  12. css图片插入文字,利用css布局在图片插入文字
  13. android 辅助功能(无障碍)
  14. 从代数结构上理解数集的分类
  15. 程序员合同日期不到想辞职_在职场,辞职有时是难免的,要怎样写辞职信才好呢...
  16. ViewBag的简单使用
  17. 洗拖一体机好用吗?实用的家用洗地机推荐
  18. DLL的创建和使用(含代码)
  19. 通过流量分析,通过xposed hook#2
  20. 操作系统文件管理习题

热门文章

  1. redis单线程原理___Redis为何那么快-----底层原理浅析
  2. URL传Base64 造成报错 Illegal base64 character 20
  3. Linux使用vi/vim打开文档/文件报错E325:ATTENTION Found a swap file by the name
  4. angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
  5. 数据结构之线性表:单链表
  6. 单向队列、双端队列、栈的模型实现
  7. Java中HashMap的常用操作
  8. 如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?
  9. 华润置地php面试题_长春华润置地崑崙御,以至臻匠心,成就城市典范
  10. 基于Java+SpringMvc+vue+element实现驾校管理系统详细设计