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设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 表访问,向oracle导入访问表

我在将表导入到oracle时遇到问题。当我导入一个字段是例如导入:在访问我已经20,200 和进口到Oracle‘‘中访问和导入oracle作为‘12535’向oracle导入访问表在访问20’或’125.35它被声明作为数字,并在oracle中它已经改为文本,浮动…

oracle中orand使用,Postgres兼容Oracle研究——orafce调研

一、背景PostgreSQL是和Oracle最接近的企业数据库,包括数据类型,功能,架构和语法等几个方面。甚至大多数的日常应用的性能也不会输给Oracle。但是Oracle有些函数或者包,默认PostgreSQL是没有的,需要安装orafce包来实现…

oracle脚本审核平台,Oracle 脚本(适应各种业务需要)

Oracle 脚本(适应各种业务需要)1. 取A表的数据,更新B表字段update m_build bset b.district_id(select d.district_idfrombjhouse.d_district dwhereb.build_name_jqd.district_name)where exists(select 1frombjhouse.d_district dwhereb.build_name_jqd.district…

linux 文件mtime,linux 文件的atime,ctime,mtime查看與修改

查看ls -a默認顯示的是修改時間ls -c / --timestatus / --timectime顯示的是狀態修改時間(即權限修改時間)ls -u / --timeuse / --timeaccess / --timeatime表示的是文件訪問時間修改touch: 缺少了文件操作數請嘗試執行“touch --help”來獲取更多信息。[weilocalhost ~]$ touc…

linux 内核系统优化,Linux系统内核优化(一)

Linux内核参数调整(用于大并发的WEB服务器)cat > /etc/sysctl.conf net.ipv4.tcp_syncookies 1fs.file-max 999999net.ipv4.tcp_tw_reuse 1net.ipv4.tcp_keepalive_time 600net.ipv4.tcp_fin_timeout 30net.ipv4.tcp_max_tw_buckets 5000net.ipv4.ip_local_port_range…

labview linux 内核 不匹配,Linux CentOS7(或Ubuntu)中安装NI-VISA后一打开范例Simple Serial.vi就闪退,LabVIEW就崩溃。...

Linux CentOS7(或Ubuntu)中安装NI-VISA后一打开范例Simple Serial.vi就闪退,LabVIEW就崩溃。我安装了LabVIEW pro 2017 for Linux(另外也试了2016版的都是一样的效果),VISA也试了4.1.0、4.4.0、5.1.1、15.0.0、15.5.0、16.0.0、17.0.0版本都试过了&#…

linux内核编译的image,内核编译时生成uImage的办法

有一个很简单的办法u-boot编译结束时,会在tool文件夹下面生成一个mkimage文件,将这个文件复制到交叉编译器目录下的bin文件夹下面,以后编译时就会生成uImage文件,省的用命令行的方式转了;另外将采用命令行的方式也贴出…

linux系统平均价格,简单认识Linux系统平均负载

第一次认识“系统平均负载”是在探针中见到的,一直不明白是什么意思,不明白貌似也不影响使用,就在意了。后来与“系统平均负载”接触的更多,无意间看到了一个形象的比喻,算是对“系统平均负载”有一个简单的认识。load…

linux系统怎么删除打印机,解决LINUX ES3.0下想指定打印机和用户的删除打印作业的问题...

################################################################################ xlprm use for LINUX ES3.0# 可删除指定打印机和指定用户的打印作业# 用法 1)xlprm $1 $2 可指定两个参数 参数一是打印机名 参数2是用户名# 2)xlprm $1 可指定一个参数 参数一是打印记名 然…

linux下快速查找文件,linux中快速查找文件

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,…

linux获得系统时间 c,linux c 获取系统时间

#include main(){time_t timep;time (&timep);printf(“%s”,asctime(gmtime(&timep)));}#includemain(){time_t timep;time (&timep);printf(“%s”,ctime(&timep));}#include#includemain(){struct timeval tv;struct timezone tz;gettimeofday (&tv , &…

linux升级openssl需要先卸载吗,linux下安装/升级openssl

(2810) (1)安装环境:操作系统:CentOs7OpenSSL Version:openssl-1.0.2j.tar.gz安装:目前版本最新的SSL地址为备注:进入http://www.openssl.org/source/ 查看最新版本1、将下载的压缩包放在根目录,2、在文件夹下解压缩&…

kali linux子远程桌面,适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )...

为了解决Windows远程桌面访问Ubuntu 12.04 之一 中提到的VNC远程桌面的缺点(见http://www.linuxidc.com/Linux/2012-07/64801.htm),我们采用第二种方法XRDP,该方法支持多用户登录并远程桌面。1、首先参考Windows远程桌面访问Ubuntu 12.04 之安装VNC中提到…

linux装redis环境变量,linux 怎样安装redis

人到中年有点甜获取Redis1、通过官网http://redis.io/获取稳定版源码包下载地址;2、通过wget http://download.redis.io/releases/redis-3.0.2.tar.gz下载 源码包;2编译安装Redis1、解压源码安装包,通过tar -xvf redis-3.0.2.tar.gz解压源码&…

word2016能识别linux换行符,word文章中的换行符如何批量替换为回车符

word文件中有换行符很正常,但是想要将换行符全部替换为回车符,该怎么替换?以下是学习啦小编为您带来的关于word文章中的换行符批量替换为回车符,希望对您有所帮助。word文章中的换行符批量替换为回车符1、在打开的word中,依次点击…

linux 搜狗输入法包名,搜狗输入法(com.sohu.inputmethod.sogou) - 10.27 - 应用 - 酷安

权限信息 在其他应用之上显示内容 控制振动 读取您的通讯录 修改系统设置 完全的网络访问权限 查看网络连接 读取手机状态和身份 防止手机休眠 修改或删除您的USB存储设备中的内容 查看WLAN连接 连接WLAN网络和断开连接 录音 编辑您的讯息(短信或彩信) 接收讯息(短信) 拍摄照片…

mingw linux socket,MingW上编译WinSocket程序undefined reference to `WSAStartup@8'报错的解决办法...

在Mingw stdio上编译Windows Socket程序经常出现这样的错误undefined reference to inet_addr4undefined reference to gethostbyname4undefined reference to WSAGetLastError0undefined reference to inet_ntoa4undefined reference to WSAStartup8undefined reference to in…

%3c故乡%3e中语言描写的作用是什么,第三单元考试题

为什么说“偷”?“偷”谁的豆?讨论明确:孩子们认为背着大人摘豆吃是不应该的,所以直言不讳地说“偷”。可是他们不是窃取别人的东西来肥私,有趣的是把自己家最好的劳动果实奉献给伙伴享用;“偷我们的罢&…

linux禁用防火墙配置,CentOS Linux防火墙配置及关闭

最近在CentOS Linux下安装配置 Oracle 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙。偶然看到防火墙的配置操作说明,感觉不错。执行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙…

无锡c语言编程培训学校,无锡c语言培训班——C语言基础知识

原标题:无锡c语言培训班——C语言基础知识1. 每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束。2.在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面…