PHPCMS系统初始化流程
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-10 17:24:13 浏览: 评论:0
为增强phpcms二次开放能力,今天开始读phpcms源码,不定期更新点小日志,跟着平哥读源码,成为屌丝我看行.
phpcms单入口 mvc架构
index.php 所有请求都必须通过这个文件
index.php
加载base.php框架入口文件,初始化了系统环境变量,定义了pc_base静态类:
creat_app:初始化了应用程序
load_sys_class:加载系统类,默认加载目录为libs/classes
load_app_class:加载应用累,默认加载目录为modules/模块名/classes目录(封装的load_sys_class函数)
load_model:加载数据库模型,默认加载目录为model/xxx.class.php
load_sys_func:加载系统函数,默认加载目录为libs/functions/
调用 pc_base静态类 creat_app方法
- public static function creat_app() {
- return self::load_sys_class('application');
- }
加载了/libs/classes/application.class.php
pc_base类 里面_load_class方法默认$initialize为1 这样会在加载的同时实例化 类 并会想实例化对象存储到$classes静态数组里面以class的路径加文件名md5后的key
application类初始化方法:
- public function __construct() {
- $param = pc_base::load_sys_class('param');
- define('ROUTE_M', $param->route_m());
- define('ROUTE_C', $param->route_c());
- define('ROUTE_A', $param->route_a());
- $this->init();
- }
加载了系统类 param 参数处理类
获取处理一切不受信任的外部变量
定义了 ROUTE_M 获取的模块名
定义了 ROUTE_C 获取的控制器名
定义了 ROUTE_A 获取的方法名
application里面init方法:
调用application里面load_controller方法
$filepath = PC_PATH.'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.$filename.'.php';组合控制器路径
并且判断有没有MY_的控制器,灵活扩展控制器
返回控制器实力
call_user_func(array($controller, ROUTE_A));执行控制器里面对应方法.
Tags: PHPCMS 系统初始化
相关文章
- ·phpcms数据库操作(2013-11-15)
- ·phpcms的安装和卸载文件(2013-11-15)
- ·phpcms 模版源码分析(2013-11-15)
- ·phpcms更新首页(2013-11-15)
- ·PHPCMS 采集规则(2013-11-15)
- ·phpcms 仿站小结(2013-11-15)
- ·phpcms数据结构(2013-11-15)
- ·让PHPCms内容页支持JavaScript(2013-11-15)
- ·phpcms v9 二次开发记录(2014-01-09)
- ·phpcms v9 添加内容出现500错误(2014-01-09)
- ·PHPCMS v9修改默认后台登录地址(2014-01-09)
- ·phpcms v9搜索标题中含有的很多关键词都没有搜索结果?(2014-01-09)
- ·phpcms V9 在首页中调用友情链接分类(2014-01-09)
- ·Phpcms V9缩略图上传失败问题解决办法(2014-03-16)
- ·phpcms v9代码剖析一(2014-03-16)
- ·phpcmsv9 内容页调用{date('Y-m-d',time($inputtime))} 结果为1970-01-01. (2014-06-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)