个人对框架开发的基本理解

原创 2018-11-19 14:29:48 365
摘要:<?php  // 1 创建框架模型基类 //  做项目,一定要从模型开始做。 //  1.1 ma/core/Model.php //  1.2 连接数据库[构造方法实现] //  1.3 设置一些受保护属性或方法,供子类继承[可选] /**** * 框架的模型基类 * 
<?php 
// 1 创建框架模型基类
// 	做项目,一定要从模型开始做。
// 	1.1 ma/core/Model.php
// 	1.2 连接数据库[构造方法实现]
// 	1.3 设置一些受保护属性或方法,供子类继承[可选]
/****
* 框架的模型基类
* 1.采用Medoo作为数据库管理的框架
* 2.Medoo是一个轻量级的基于PDO预处理,与类型无关的数据库框架
****/
namespace ma\core;
use Medoo\Medoo;
class Model extends Medoo
{
	public function __construct($options = null)
		{
			$config = require 'ma/config.php';
			$options = $config['db'];

			// 实例化数据库框架Medoo
			parent::__construct($options);

		}	
}

// 2 创建框架视图基类
	// ma/core/View.php
	// 目的:将第三方的模板引擎导入到我们的项目中
	// 2.1 主要是初始化模板引擎:Plates
	// 2.2 配置一些默认模板目录

/****
* 框架的模型基类
* 1.采用Medoo作为数据库管理的框架
* 2.Medoo是一个轻量级的基于PDO预处理,与类型无关的数据库框架
****/
namespace ma\core;
use Medoo\Medoo;
class Model extends Medoo
{
	public function __construct($options = null)
		{
			$config = require 'ma/config.php';
			$options = $config['db'];

			// 实例化数据库框架Medoo
			parent::__construct($options);

		}	
}

// 3 创建框架控制器基类
// 	功能:主要功能,实例化模板引擎对象,创建通用方法,供子类调用
// 	3.1 最重要的是对视图对象的创建
// 	3.2 如果有其他公共操作,也可以放这里
// 	ma/core/Controller.php
/****
框架的视图基类
基于原生PHP的模板引擎:Plates
****/
namespace ma\core;

use League\Plates\Engine;


class View extends Engine
{
	
	// 变量容器
	protected $data = [ ];
	/**
	* View constructor
	* @param null $directory 默认模板目录
	* @param string $fileExtension 模板扩展名
	*
	**/
	// 构造方法
	public function __construct($directory = null, $fileExtension = 'php')
	{
		parent:: __construct($directory, $fileExtension);
	}
}


// 4 创建应用项目(总结)
	// 4.1 约定都创建在app目录下面
	// 4.2 app下一模块进行划分,例如admin为后台管理模块,home为前提管理模块
	// 4.3 模块admin下创建目录controller,用来存放用户自定义的控制器类文件
	// 4.4 模块的视图也放在admin目录下,创建admin/view目录
	// 4.5 view目录下,根据不同的控制器再创建目录进行分类管理:index/edit.php
	// 4.6 根据模板的要求,全部模板文件默认后缀都是php,也可以修改为其他,如:tpl/html
	// 4.7 模型对应数据库操作,通常一个应用对应着一个数据库,表基本都是共用的
	// 4.8 所以不针对模块来创建模型,而是在app应用下创建model,为公共模型
	
// 提示:鉴于配置文件、路由解析类、框架基础类都已经在之前的作业中体现,此处,不再赘述。

?>

// 框架开发流程:

// 1.进行框架的基本配置:app/ma/config.php

// 主要有应用配置与数据库配置二部分组成;

// 以PHP数组方式返回

// 配置文件主要是提供给 路由类 和 基础类 使用;

// 配置文件:适用于整个应用

// 采用数组方式返回数据

// 2.安装第三方依赖工具

// 依赖管理工具:composer

// 安装数据库操作框架

// 安装模板引擎

// 3.创建路由解析类

// 目的:实现路由解析,请求分发;

// 4.创建基础类与控制文件

// 基础类是框架运行的保障,主要用调试设置,类的自动加载和启动功能,几乎所有PHP框架都有一个基础类,

// 可能有的框架叫做引导类,实质都是一样的

// 4.1 调试模式

// 开发模式,开启,抛出错误;上线后,关闭调试模式

// 4.2 自动加载

// 将自定义的类加载函数把它注册到系统中去,这样,我们在New一个类的时候,这个类就自动加载到当前脚本中。

// 4.3 启动框架

// 一般是设置一个run或者start方法,所谓启动,实际上就是一个请求路由分发的过程。


// 5 创建框架模型基类

// 做项目,一定要从模型开始做。

// 5.1 连接数据库[构造方法实现]

// 5.2 设置一些受保护属性或方法,供子类继承[可选]

// 6 创建框架视图基类

// 目的:将第三方的模板引擎导入到我们的项目中

// 6.1 主要是初始化模板引擎

// 6.2 配置一些默认模板目录

// 7 创建框架控制器基类

// 功能:主要功能,实例化模板引擎对象,创建通用方法,供子类调用

// 7.1 最重要的是对视图对象的创建

// 7.2 如果有其他公共操作,也可以放这里


批改老师:韦小宝批改时间:2018-11-19 15:29:59
老师总结:写的很完整!不错不错!不要骄傲!以后的作业就是要这样写下去!很棒!!!继续加油吧!

发布手记

热门词条