Update autoloader.php

src
pvfho47bq 6 months ago
parent c71fdaaa70
commit 92df45ce66

@ -1,7 +1,10 @@
<?php <?php
namespace LaneWeChat; namespace LaneWeChat;
/** /**
* 自动载入函数 * 自动载入函数类
*
* 该类用于自动加载指定命名空间下的类文件,以便在需要时自动实例化类。
*
* Created by Lane. * Created by Lane.
* User: lane * User: lane
* Date: 14-10-15 * Date: 14-10-15
@ -10,10 +13,12 @@ namespace LaneWeChat;
* WebSite: http://www.lanecn.com * WebSite: http://www.lanecn.com
*/ */
class Autoloader { class Autoloader {
const NAMESPACE_PREFIX = 'LaneWeChat\\'; // 定义命名空间前缀 const NAMESPACE_PREFIX = 'LaneWeChat\\'; // 定义命名空间前缀,用于识别类名
/** /**
* 向PHP注册自动载入函数 * 向PHP注册自动载入函数
*
* 通过此方法注册自动载入函数,当尝试实例化一个未定义的类时,将自动调用 autoload 方法。
*/ */
public static function register() { public static function register() {
// 注册自动载入函数,当尝试实例化一个未定义的类时,将调用此函数 // 注册自动载入函数,当尝试实例化一个未定义的类时,将调用此函数
@ -22,7 +27,8 @@ class Autoloader {
/** /**
* 根据类名载入所在文件 * 根据类名载入所在文件
* @param $className 类名 *
* @param string $className 类名
*/ */
public static function autoload($className) { public static function autoload($className) {
// 获取命名空间前缀的长度 // 获取命名空间前缀的长度
@ -39,14 +45,9 @@ class Autoloader {
if (file_exists($filePath)) { if (file_exists($filePath)) {
require_once $filePath; require_once $filePath;
} else { } else {
// 如果文件不存在,输出文件路径 // 如果文件不存在,输出文件路径(用于调试)
echo $filePath; echo $filePath;
} }
} }
} }
} }
命名空间声明namespace LaneWeChat; 定义了类的命名空间表明这个类属于LaneWeChat模块。
类定义class Autoloader 定义了一个用于自动加载类文件的类。
常量定义const NAMESPACE_PREFIX = 'LaneWeChat\\'; 定义了命名空间前缀,用于识别类名。
register方法注册自动载入函数当尝试实例化一个未定义的类时将调用 autoload 方法。
autoload方法根据类名载入所在文件。检查类名是否以命名空间前缀开头如果是则构建文件路径并加载文件。如果文件不存在则输出文件路径。
Loading…
Cancel
Save