phpcms源码解析

Posted 永远的麦田

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpcms源码解析相关的知识,希望对你有一定的参考价值。

1、程序启动逻辑:

首先由文件\\index.php调用create_app(),此函数在文件\\phpcms\\base.php中,它完成初始化应用程序,调用函数load_sys_class并提供参数application,然后调用函数_load_class函数,此函数主要功能是实例化文件\\phpcms\\libs\\classes\\application.class.php中的application类,此类是应用程序初始类,它一方面加载路由配置,一方面初始化自身,函数init()做两件事,一是加载控制器类,一是调用控制器类的初始化过程,分别为函数load_controller()和call_user_func()。过程如下图所示:

image

 

2、路由初始化:

程序启动之初有一个路由初始化的过程:

$param=pc_base::load_sys_class(\'param\');

returnself::_load_class(‘param’,$path,$initialize);

目的只是为了加载\\phpcms\\libs\\classes\\param.class.php,

并由构造函数完成路由配置:$this->route_config

\\caches\\configs\\route.php

经此语句:$configs[$file]=include$path;

将route.php中的配置赋给$configs[\'route\']最终获取到路由配置:

$this->route_config=……

以上是关于phpcms源码解析的主要内容,如果未能解决你的问题,请参考以下文章

Spring 源码解析之HandlerAdapter源码解析

spring系统架构源码解析AutowireCandidateResolver

Netty 源码解析 ——— ChannelConfig 和 Attribute

源码解析:Spring源码解析笔记

Spring 源码解析之ViewResolver源码解析

Spring 源码解析之ViewResolver源码解析