您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcmsv9源码pc_base::creat_app()参数说明
程欢2025-06-10phpcms教程已有人查阅
导读在前面我们已经知道了,这个load_sys_classs静态方法,它加载了PC_CMS/libs/classes/application.class.php默认的这个函数这个方法是实例化的,所以我们找到application.class.php
return self::load_sys_classs('application');
在前面我们已经知道了,这个load_sys_classs静态方法,它加载了PC_CMS/libs/classes/application.class.php默认的这个函数这个方法是实例化的,所以我们找到application.class.php,看看他的构造函数吧
构造函数就简单的几行代码,第15行,加载了param.class.php,后面定义的常量都和param有关,让我们来看看这个类文件
12先声明一个私有变量$route_config
下面的构造函数get_magin_quotes_gpc()是检测是否开启这个配置,new_addslashes()函数在global.func.php函数中定义了。
22三元运算,我们打开route.php文件,返回了一个二维数组,
其中下标为'default'',我们就直接取出default这个数组了,
但是为什么phpcms要做这个判断呢,其中SITE_URL在base.php中定义了
define('SITE_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''));
本地测试是localhost,是不是为了检测自己定义的路由规则呢?暂时不能知道了。24-37目前为止都是未执行的,因为$this->route_config其实是一个一维数组。
你
print_r($this->route_config) Array( [m] => content [c] => index [a] => init)
所以这个构造函数,只存在了个变量
$this->route_config
这3个函数就比较简单返回Array([m]=>content[c]=>index[a]=>init)里面的数据OK,我们返回application.class.php
$this->init();
26行,直接调用了load_controller,我们直接看load_controller函数第44行
load_controller($filename='',$m='')
上面的init并没有传参,而且在构造函数中我们已经取出了ROUTR_C,ROUTE_M的值
那么此时的$filename=index$m=content
所以47-63行的代码意思为
判断这个模块下的这个文件是否存在,存在就加载,同样判断了有没有以MY_开头的自己的扩展,有的话也加载,并实例化
如果没有就
exit('Controller does not exist.');
回到init函数,此时已经加载了控制器,并实例化了index.phpinit()这个函数,主要注意的就是俩个函数method_exists()和call_user_func()不明白的同学,看手册吧,这个
call_user_func(array($controller,ROUTE_A))
直接就执行了index.php里面的init方法好了,application.class.php函数就说到这吧,如果一篇写太多,朋友们看的时候会头大。
下一章,我们进去content模块下的index.php控制器的init方法
本文标签:
很赞哦! ()
上一篇:phpcms做网站
图文教程
PHPCMS搭建wap手机网站的方法
PHPCMS搭建PC端网站比较方便,但是在wap手机端方面却不怎么实用,而且自带的手机建站感觉不是很好,而且模版不好控制,现在对其进行修改,手机建站个人感觉比较方便
phpcms使用添加php原生支持的实现方法
1,phpcms模板中有时候要添加一些php相关变量这个时候要使用原始php的东西,可以如下加入{php $no_wq_id=$r[id] ;}其中$r[id]是通过{pc:get sql="..."}的loop循环得到的
PHPCMSv9.6.0wap模块SQL注入漏洞修复方法
调试这个漏洞的时候踩了个坑,影响的版本是php5.4以后。由于漏洞是由parse_str()函数引起的,但是这个函数在gpc开启的时候(也就是php5.4以下)会对单引号进行过滤\' 。
phpcmsV9升级至php7.1常见报错修复方法
最近将phpcmsV9升级至php7.1,中间踩过一些坑,这里列出来给大家参考下。1. 迁移至php7.1+mysql5.6+nginx的修改项目
相关源码
-
(自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0Rabbit v2.0主题专注于网站搜索引擎优化需求,为博客、自媒体及资讯类网站提供专业的SEO技术解决方案。该主题从架构设计到功能实现均围绕搜索引擎优化理念展开。查看源码 -
(自适应响应式)APP应用程序软件介绍落地页源码免费下载该模板为营销技术从业者设计,提供专业的内容展示平台。采用响应式布局,适配软件介绍、APP推广等营销场景,通过可视化后台可快速搭建符合行业特性的展示网站。查看源码 -
(自适应手机端)英文外贸电子产品通用pbootcms模板源码下载为电子产品外贸企业设计的响应式网站模板,采用PbootCMS开发内核,支持多语言展示。模板默认集成产品展示系统、询价表单模块和企业资质展示区,满足跨境贸易基础需求。整站采用模块化设计,便于扩展业务场景。查看源码 -
(自适应响应式)蓝色外贸英文产品介绍展示网站模板本模板采用手工编写的DIV+CSS架构,代码精简高效。适配手机端浏览,数据实时同步更新。内置SEO优化框架,支持独立设置各页面标题、关键词及描述。开源代码结构清晰,便于二次开发。查看源码 -
(PC+WAP)高端餐饮美食小吃加盟网站模板下载pbootcms本模板基于PbootCMS内核开发,为餐饮美食品牌加盟、小吃连锁企业量身打造。通过精致的美食视觉呈现与加盟业务流程展示,帮助餐饮企业建立专业线上门户,实现品牌形象与加盟业务的双重展示。查看源码 -
(自适应响应式)html5高档服装定制西服pbootcms模板下载本模板基于PbootCMS内核开发,为服装定制企业和服装品牌量身打造。设计风格时尚现代,充分展现服装行业的审美特质与品牌魅力。采用HTML5响应式技术,确保在各种设备上呈现视觉效果。整站布局注重产品展示与品牌叙事,帮助企业有效展示服装系列与定制服务,提升客户体验。查看源码
| 分享笔记 (共有 篇笔记) |
