从零开始搭建自己的mvc(二)类的自动加载

1、判断是否有相应的类

首先我们在入口文件(index.php)进行判断

使用函数

<?php   
/*入口文件
*定义常量
*加载函数库
*启动框架
*/
define('FRAMEWORK',dirname(__FILE__));

define('CORE',FRAMEWORK.'/core');//主要核心文件
define('APP',FRAMEWORK.'/app');//控制器模型文件
define('MODULE','app');

define('DEBUG',true);//调试模式

if (DEBUG){
	ini_set('display_error','On');
} else {
	ini_set('display_error','Off');
}

include CORE.'/common/function.php';//加载文件
include CORE.'/framework.php';//核心文件
//判断
spl_autoload_register('\core\framework::load');//判断类是否存在 若不存在就执行函数中相关的路径
\core\framework::run();//调用方法执行入口文件

?>
2 因为不存在我们自动引用相关路径( \core\framework::load framework.php中的load方法

public static $classMap = array();
static public function load($class)//我们会经常调用到所以设置为静态方法
	{
		//自动加载类库
		if(isset(self::$classMap[$class])){ 
			return true;
		} else {
			$class = str_replace('\\', '/', $class);//\替换成/
			$file = FRAMEWORK.'/'.$class.'.php';//我们需要把路径拼接成项目路径
			if(is_file($file)){
				include $file;
				self::$classMap[$class] = $class;
			} else {
				return false;
			}		
		}
		
	}
3、在core文件夹下创建一个新的文件夹lib用于存放我们的配置文件建立我们的路由类

在core 下创建lib,lib 下建立route.php(路由类)

<?php 
namespace core;
class route
{
   public funtion __construct()
   {
     echo "route ok";
   }

}
?>
4、在调用入口文件方法run()中 new 路由方法

  $route = new\core\route();

  print_r($route);


5、成功输出

route ok



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值