源来页 公告 登陆

PHP自动加载类与空间命名

南墙 @Ta
2025-09-13 00:48

先贴教程代码
<?php
 // 注册自动加载函数
 spl_autoload_register(function($className) {
     // $className 是“命名空间+类名”(如 app\Admin\User)
     // 步骤1:把命名空间的“\”换成系统路径的“/”(适配Windows/Linux)
     $filePath = str_replace('\\', DIRECTORY_SEPARATOR, $className);
     // 步骤2:拼接完整文件路径(假设所有类文件都以.php结尾)
     $file = __DIR__ . '/' . $filePath . '.php';
     // 步骤3:如果文件存在,就加载
     if (file_exists($file)) {
         require $file;
     }
 });
 // -------------- 下面直接用类,不用手动require --------------
 // 用管理员User类
 $adminUser = new app\Admin\User();
 echo $adminUser->getRole(); // 输出:我是管理员用户
 // 用普通用户User类(用use简化)
 use app\Client\User;
 $clientUser = new User();
 echo $clientUser->getRole(); // 输出:我是普通用户

1. 命名空间约定:PHP推荐“命名空间和文件路径一致”(如 namespace app\Admin 对应 app/Admin 文件夹),这样自动加载能精准找到文件。
2.use  关键字只能在 PHP 全局作用域(文件最顶部,且在任何代码执行逻辑之前)使用,不能在函数、类、代码块(如  if / for )内部使用。
3.如空间命名为namespace app\Admin
使用时为use app\Admin\类名;
4.类名与文件名保持一致,大小写敏感。

最后编辑:2025-09-13 01:00
阅:281 发表于2025-09-13 00:48
#php教程
评论:

返回源来页/返回首页


天合之作 曲在人意

心灵鸡汤:
      

®2019-2026 all power by Zlproject3.8
川公网安备 51192202000151号
蜀ICP备2021014921号-2 首页 #top

本网站由edge one提供CDN加速服务

天合之作 曲在人意