您的位置:首页 > 其它

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

2016-12-26 13:29 225 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc 框架 class
相关文章推荐