phpcms v9 源码解析(3)pc_base::creat_app()
69 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并没有传参,
最新文章
- arcpy+PyQt+py2exe快速开发桌面端ArcGIS应用程序
- JS高级程序设计笔记一
- jsp页面缓存清理
- jackson set properties to default value (取消让jackson 赋予默认值)
- WCF中修改接口或步骤名称而不影响客户端程序
- 总结swift语言常见的20个问题和回答
- 应用Druid监控SQL语句的执行情况--转载
- html5 的百度地图连接
- 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-2
- nodejs中exports与module.exports的区别详细介绍
- 【new File(String Path)加载资源问题】
- 1.NET是什么
- .Net 操作Excel表格
- Mysql生产指定时间段随机日期函数
- Flask 里的WEB表单应用
- Luogu P4317 花神的数论题
- Responsive响应式设计
- OpenCV学习笔记之课后习题练习2-5
- java 读取execl文件
- 【转】简说GNU, GCC and MinGW (Lu Hongling)
热门文章
- Linux分区有损坏修复
- mysql索引补充
- [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载
- [转]DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)
- 【python,logging】python中的logging模块
- Gradle实战:不同编译类型的包同设备共存
- 人体时钟hone hone clock
- JavaScript--Function类型(11)
- 手把手教你认识并搭建Nginx
- Linux下向SVN服务器添加新文件步骤