PHP类的自动加载机制实现方法分析
发布时间:2022-06-20 09:06:14 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP类的自动加载机制实现方法,结合实例形式分析了__autoload方法进行类自动加载操作的相关实现技巧与使用注意事项,需要的朋友可以参考下。 本文实例讲述了PHP类的自动加载机制实现方法,分享给大家供大家参考,具体如下: Test1.class.php
这篇文章主要介绍了PHP类的自动加载机制实现方法,结合实例形式分析了__autoload方法进行类自动加载操作的相关实现技巧与使用注意事项,需要的朋友可以参考下。 本文实例讲述了PHP类的自动加载机制实现方法,分享给大家供大家参考,具体如下: Test1.class.php <?php class Test1 { public static function test() { echo "hello,world!n"; } } Test2.class.php <?php class Test2 { public static function test() { echo "你好,世界!n"; } } test.php Test1::test(); 如果直接写,会报错 Fatal error: Class 'Test1' not found in /home/wwwroot/default/codelabs/test.php on line 3 需要引入文件 <?php require "Test1.class.php"; Test1::test(); 这样就可以访问了。 但是,如果类越来越多,引入的代码就越来越多。 这个时候需要使用__autoload方法。 <?php Test1::test(); function __autoload($class) { //require "Test1.class.php"; //require "Test2.class.php"; require __DIR__."/".$class.".class.php"; // __DIR__是当前目录的绝对路径 } 当程序发现没有引入类时,会自动调用这个方法,引入类文件。 进一步优化升级,支持多个自动加载。 <?php spl_autoload_register('__autoload1'); spl_autoload_register('__autoload2'); Test1::test(); Test2::test(); // 当检测到无类加载时,会自动调用这个方法 function __autoload1($class) { //require "Test1.class.php"; //require "Test2.class.php"; require __DIR__."/".$class.".class.php"; // __DIR__是当前目录的绝对路径 } function __autoload2($class) { //require "Test1.class.php"; //require "Test2.class.php"; require __DIR__."/".$class.".class.php"; // __DIR__是当前目录的绝对路径 } 很好,很强大! (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |