• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP类的自动加载机制实现方法分析

    本文实例讲述了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

    ?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__是当前目录的绝对路径
    }
    
    

    很好,很强大!

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP类的自动加载与命名空间用法实例分析
    • php类的自动加载操作实例详解
    • php类自动加载器实现方法
    • 解析php类的注册与自动加载
    • php类自动加载失败的处理方案及实例代码
    上一篇:PHP验证类的封装与使用方法详解
    下一篇:PHP基于openssl实现的非对称加密操作示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP类的自动加载机制实现方法分析 PHP,类,的,自动,加载,机制,