php pc_base,phpcms二次开发之base.php的桥梁作用_PHP教程
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教程相关推荐
- U9二次开发之BP定时任务插件开发
采购订单BP定时任务插件开发 最近我们公司要做采购订单审批和OA的集成,也就是把u9的审批流程搬到OA里去做.当业务员点击标准采购提交按钮的时候,把采购订单的信息触发到OA流程,在OA里做审核,OA审 ...
- AutoCAD .Net二次开发之JIG动态绘制详解
AutoCAD .Net二次开发之JIG动态绘制详解 AutoCAD平台动态绘制分两种,单实体绘制EntityJig和多实体绘制DrawJig,需要自己自定义类去继承.(本人的理解全放在了代码注释中, ...
- C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处
我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1.Data2.Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed P ...
- C#进行Visio二次开发之Web查看Visio图纸
前面介绍的Visio开发知识,都是基于Winform的Visio的开发知识,图纸的展示都是基于Winform方式展示的.但很多时候,如果能够通过Web方式可以查看最新的图纸信息,那么系统将更加趋向完美 ...
- C#进行MapX二次开发之MapX基础知识
C#进行MapX二次开发之MapX基础知识 MapX的主要技术特点 (1). 以表(Table)的形式组织信息 每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件.为使用MapIn ...
- Vissim11二次开发之C#---实现仿真时间内实施不同信号控制方案
Vissim11二次开发之C#-实现仿真时间内实施不同信号控制方案 本文起源:近些日子,由于论文仿真需求,重重重操Vissim旧业. 先说下需求情况吧:路网区域优化前后两种信号控制方案,由于论文场景要 ...
- AutoCAD .Net二次开发之Editor选择集
AutoCAD .Net二次开发之Editor选择集 PickFirst选择集 一般选择集 选择集过滤SelectionFilter Editor的路径: Autodesk.AutoCAD.Appli ...
- Datax 插件二次开发之parquet日志问题处理
Datax 插件二次开发之parquet日志问题处理 Date: December 31, 2021 参考文档: https://blog.csdn.net/wuleidaren/article/de ...
- Revit二次开发之DMU
Revit二次开发之DMU Revit是一款三维联动的设计软件,一处修改处处修改, 比如,在三维视图修改了墙的位置,二维视图上墙的位置也跟着变化了,同时,墙上的门窗也会跟着移动. 这种联动关系是R ...
最新文章
- rtsp连接断开_live555学习之RTSP连接建立以及请求消息处理过程
- [js高手之路] vue系列教程 - vue的事件绑定与方法(2)
- 1295 N皇后问题
- Android官方开发文档Training系列课程中文版:创建自定义View之View的优化
- 套接字TCP控制台程序客户端代码示范
- Nagios(八)—— Nagios Web 端管理工具Nagiosql
- 在JavaScript中将字符转换为ASCII代码
- Python设计模式:工厂模式
- BSC(币安智能链)主网链部署
- SVN和git的优缺点比较
- pyplot输出的绘图界面出现中文乱码的解决方案
- css图片插入文字,利用css布局在图片插入文字
- android 辅助功能(无障碍)
- 从代数结构上理解数集的分类
- 程序员合同日期不到想辞职_在职场,辞职有时是难免的,要怎样写辞职信才好呢...
- ViewBag的简单使用
- 洗拖一体机好用吗?实用的家用洗地机推荐
- DLL的创建和使用(含代码)
- 通过流量分析,通过xposed hook#2
- 操作系统文件管理习题
热门文章
- redis单线程原理___Redis为何那么快-----底层原理浅析
- URL传Base64 造成报错 Illegal base64 character 20
- Linux使用vi/vim打开文档/文件报错E325:ATTENTION Found a swap file by the name
- angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
- 数据结构之线性表:单链表
- 单向队列、双端队列、栈的模型实现
- Java中HashMap的常用操作
- 如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?
- 华润置地php面试题_长春华润置地崑崙御,以至臻匠心,成就城市典范
- 基于Java+SpringMvc+vue+element实现驾校管理系统详细设计