批改状态:合格
老师批语:坚持学习好
自动加载器遵循PSR-4标准,代码在运行时,实现查找PHP类、接口、Trait文件,并自动加载到当前脚本。但自动加载文件路径需与该文件中的代码的命名空间一一对应。
加载器代码(autoloading.php):
<?phpnamespace autoloading;//注册加载器spl_autoload_register(function($class){//设置项目的前缀$prefix = "autoloading\\";//设置具有项目前缀的类名的所对应的基目录$base_dir = __DIR__."\\";//去掉项目名称获取真实的类名称$real_name = substr($class,strlen($prefix));//将命名空间分隔符替换成当前系统目录分隔符$path = str_replace("\\",DIRECTORY_SEPARATOR,$real_name);//加上基目录以及PHP后缀$file = $base_dir . $path . ".php";//判断文件是否存在并进行文件加载if(file_exists($file)){require $file;}else{die("文件加载失败");}});
被加载文件代码(createUser.php):
<?phpnamespace autoloading;class CreateUser{//生成随机数量的用户数据public static function create($num){for($i = 0 ; $i < $num ; $i++){$user=['name' => chr(mt_rand(97,122)),'age' => $i];yield $i=>$user; //通过生成器逐条生成数据}return $user;}}
使用加载器文件代码(test.php):
<?phpnamespace autoloading;use autoloading\CreateUser;require "autoloading.php";//引入自动加载器文件foreach (CreateUser::create(500) as $k => $v) {echo "<pre>" . print_r($v , true) . "</pre>";}
运行结果:

Composer,包(组件)依赖管理器,可以下载由第三方开发者编写的组件到项目中进行使用,下载的组件在vendor目录下
Windows下载安装Composer
打开网址:https://getcomposer.org/Composer-Setup.exe,下载Composer,下载完成后打开文件,一直点击为下一步完成安装
查找下载组件
打开网址:https://packagist.org/,这个网站提供全世界开发者编写的组件,本次使用到的是验证码组件,在搜索框输入chaptcha,找到gregwar/captcha,点击进入对应页面

找到项目的目录位置,在地址栏输入cmd,回车打开终端,在命令行中输入composer require gregwar/captcha,即可下载成功对应的组件

示例:
<?phpnamespace composerTest;use Gregwar\Captcha\CaptchaBuilder;//引入自动加载器require __DIR__ . '\vendor\autoload.php';//实例化验证码类`$builder = new CaptchaBuilder;//生成验证码$builder->build();//生成内联验证码,放在内联标签:base64echo '<img src="' . $builder->inline() . '" onclick="location.reload()">';
运行结果:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号