站长网 经验 PHPCMS系统初始化历程

PHPCMS系统初始化历程

为增强phpcms二次开放能力,今天开始读phpcms源码,不定期更新点小日志,跟着平哥读源码,成为屌丝我看行. phpcms单入口 mvc架构 index.php 所有请求都必须通过这个文件 index.php 加载base.php框架入口文件,初始化了系统环境变量,定义了pc_base静态类: creat_

为增强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/
 
 
获取处理一切不受信任的外部变量
 
定义了 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));执行控制器里面对应方法.

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/jianzhan/jy/2021/1217/38194.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部