PHP MVC基础架构(一)

PHP函数、PHP面向对象、动手能力、结构构建 是进行 MVC设计  的必备知识

 

PHP MVC的初始架构包括以下内容:

A. 入口文件功能和序列

B. 编写和配置类的自动加载机制

C. 路由类的原理和编写

D. 控制器的规范结构和启动机制

E. 模型类构建

F. 视图类功能解析

G. 命名空间和文件名系统 概念明晰

 

A. 入口文件功能和序列

       入口就好比一个程序的起点,在这里主要规定了:重要的常量(固定参数)、程序的加载顺序、程序的运行顺序、程序的启动点等。

       详尽的功能还应该包括:运行环境及配置扫描、程序向内存初始化加载、甚至程序的其他初始化加载、程序相关服务的启动等。

 

另:PHP是脚本语言,或者叫宏语言,必须得到解释器来解读。。。。php脚本后缀需要是php,当客户发送HTTT请求获得一个php文件时,服务器不会像其他文件一样,将文件传过去,而是去解读这个文件,他只解读php标签内中的内容,这需要一个解释器去解释这个脚本,解释器需要用真正的编程语言去做,比如C语言,服务器解读之后就会去执行php要求的行为,它不会进行编译,所以不存在生成机器码的环节,这是宏语言和真正的编程语言最大的区别,脚本只是另一个程序的操作对象,而不是程序代码本身。。。。

 

例如这样的 index.php 文件

/**
 * 入口文件
 * 1.定义常量
 * 2.加载函数库
 * 3.启动框架
 */
//1.定义初始化常量
define('IMOOC',realpath('./'));
define('CORE',IMOOC.'/core');
define('APP',IMOOC.'/app');
define('MODULE','app');
define('DEBUG',true);


//1.1调试模式开关:是否启用PHP错误提示
if(DEBUG){
    ini_set('display_errors','on');
}else{
    ini_set('display_errors','off');
}


//2.加载自定义函数集合 核心引擎入口
include CORE.'/common/function.php';
include CORE.'/imooc.php';


//2.1注册给定的函数作为 __autoload 的实现
spl_autoload_register('\core\imooc::load');


//3.启动
\core\imooc::run();

B. 编写和配置  类的自动加载机制

       该类的主要作用在于 丰富php自动加载函数的功能、完善自动加载过程中的部分信息过滤功能、使该类嵌入该框架引擎、闭合一些已知的边界以弥合漏洞。

例如:


C. 路由类 的原理和编写

一、Routing(路由)的作用
1、匹配传入的请求(不匹配服务器物理文件);
2、将请求映射到 控制器 的具体操作 Action方法 和 参数;
3、调用并执行对应 控制器 类的 Action 方法;

二、好的Url应该满足如下条件:
1、URL应为获取某种资源提供信息,不一定是物理文件路径;
2、简短易于记忆和拼写输入;
3、可以反映出站点结构;
4、应该是【可拆分】,用户移除末尾,进而获得更高层次信息;
5、持久、不应改变。

MVC路由系统应包括 三个主体:路由控件类、路由功能加载和影响机制、路由表

除此之外对路由有影响的部分是 入口 以及 外部环境

入口文件初始化的路由相关参数、常量;

入口的额外配置;

.htaccess重写引擎配置文件;

PHP环境配置


 有条理的路由轴线意味着,清晰明确易用易维护的核心控制路线

 

D. 控制器的规范结构和启动机制

路由已经实现了解析URL来访问对应的控制器和对应的方法,控制器的实现就相对变得简单:

通常控制器只需要调用核心类的入口,即可链接至核心实现引擎控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值