首先呢这是在上一篇的基础上继续写的!!
目录:
自动加载类:
spl_autoload_register() 提供了一种更加灵活的方式来实现类的自动加载。因此,不再建议使用 __autoload() 函数,在以后的版本中它可能被弃用。
下面的就是在上一篇的代码基础上,写的自动加载类的代码展示。
<?php /* * 入口文件 * 定义常量 * 加载函数 * 启动框架 */ //定义了全局的常量 define('MVC',realpath('./')); //var_dump(MVC); define('CORE',MVC.'/core'); define('APP',MVC.'/app'); define('DEBUG',true); define('MODULE','app'); if(DEBUG){ ini_set('display_error','On'); }else{ ini_set('display_error','Off'); } include CORE.'/common/function.php';//加载函数库 include CORE.'/framwork.php'; spl_autoload_register('\core\framwork::load');//类自动加载 \core\framwork::run();//调用方法
在framwork.php文件中添加一个load方法
static public function load($class){ //自动加载类库 if(isset($classMap[$class])){ return true; }else { $class=str_replace('\\','/',$class); $file=MVC.'/'.$class . '.php'; if (is_file($file)) { include $file; self::$classMap[$class] = $class; } else { return false; } } }这样就完成了一个类的自动加载!