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

来源:互联网 发布:店铺开通淘宝客的条件 编辑:程序博客网 时间:2024/06/16 11:29

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::loadframework.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
原创粉丝点击