分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

PHP自动加载SPL的四种处理方式

发布时间:2023-09-06 02:32责任编辑:蔡小小关键词:PHP

libs目录下有3个类文件:

Test.class.php

<?phpclass Test{ ???public function __construct() ???{ ???????echo "Loading Test.class.php <br>"; ???}}

Test.php

<?phpclass Test{ ???public function __construct() ???{ ???????echo "Loading Test.php <br>"; ???}}

User.php

<?phpclass User{ ???public function __construct() ???{ ???????echo "Loading User.php <br>"; ???}}

【方法1】

<?php//可以传入多个参数,逗号分隔,多个相同的类名最先找到的最先匹配spl_autoload_extensions(‘.class.php,.php‘);//设置autoload寻找php定义的类文件的目录,多个目录用PATH_SEPARATOR常量 分隔$path = get_include_path() . PATH_SEPARATOR . "libs/";set_include_path($path);//autoload注册spl_autoload_register();new Test();new User();

【方法2】

<?php//定义__autoload函数,页面运行时会先执行这里面的代码function __autoload($class_name){ ???require_once "libs/" . $class_name . ".php"; ???echo "已加载类 " . $class_name . "<br>";}new Test();new User();

【方法3】

<?php//自定义的加载类function myLoader($class_name){ ???require_once "libs/" . $class_name . ".php"; ???echo "已加载类 " . $class_name . "<br>";}//将自定义的类名载入spl_autoload_register(‘myLoader‘);new Test();new User();

【方法4】

<?php//自定义的加载类function myLoader($class_name){ ???set_include_path("libs/"); ???spl_autoload($class_name); ???echo "已加载类 " . $class_name . "<br>";}//将自定义的类名载入spl_autoload_register(‘myLoader‘);new Test();new User();

以上四种方法都可以自动加载libs目录下面的类,运行结果如下:

【总结】

PHP自动加载SPL的四种处理方式

原文地址:https://www.cnblogs.com/kccdzz/p/10340875.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved