首先我们需要一个页面他是Index类,在他的构造函数中我们需要输出一些东西表示我们新建这个类了
需要在我们网站根目录新建一个文件路径 为 autoLoad/mvc/view/home
在这个目录中我们需要新建上面我们提到的类
<?php namespace app\mvc\view\home; class Index { function __construct() { echo '<h1> Welcome To Home </h1>'; } }
然后我们在autoLoad文件夹中新建一个 加载器 Loader.php
<?php class Loader { /* 路径映射 */ public static $vendorMap = array( 'app' => __DIR__ , ); /** * 自动加载器 */ public static function autoload($class){ $file = self::findFile($class); if (file_exists($file)) { self::includeFile($file); } } /** * 解析文件路径 */ private static function findFile($class){ $vendor = substr($class, 0, strpos($class, '\\')); // *命名空间 $vendorDir = self::$vendorMap[$vendor]; // 文件基目录 $filePath = substr($class, strlen($vendor)) . '.php'; // 文件相对路径 return strtr($vendorDir . $filePath, '\\', DIRECTORY_SEPARATOR); // 文件标准路径 } /** * 引入文件 */ private static function includeFile($file){ if (is_file($file)) { include $file; } } }
然后我们新建一个我们需要访问的文件 autoLoader.php
<?php namespace app\autoLoad; use app\mvc\view\home\Index; include 'Loader.php'; // 引入加载器 spl_autoload_register('Loader::autoload'); // 注册自动加载 ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT); new Index; // 实例化未引用的类
在这个我们可以访问的文件中我们把加载器include进来,然后使用spl_autoload_register('Loader::autoload') 把 加载器中的这个方法 注册到 __autoload 中 ,当我们实例化一个尚未引用的类时,
加载器就会自动的为我们引用上这个类