• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • spl_autoload_call()

    (PHP 5 >= 5.1.0, PHP 7)

    尝试调用所有已注册的__autoload()函数来装载请求类

    说明

    spl_autoload_call(string $class_name): void

    可以直接在程序中手动调用此函数来使用所有已注册的__autoload函数装载类或接口。

    参数

    $class_name

    搜索的类名。

    返回值

    没有返回值。

    It should be noted, that calling spl_autoload_call on a child class, and then on its parent class, throws a fatal error.
    This happens because autoloading the child class also loads the class it extends. And since spl_autoload_call forcibly calls the registered autoload function(s), not taking into account whether the class exists, a fatal error is thrown:
    File: child.class.php
    <?php
    class Child extends Parent () {
      public function __construct () {
        parent::__construct();
      }
    }
    ?>
    File: parent.class.php
    <?php
    class Parent () {
      public function __construct () {
      }
    }
    ?>
    File: autoload.php
    <?php
    /*  works fine  */
      spl_autoload_call('Child');
    /*  throws: Fatal error: Cannot redeclare class Parent in /parent.class.php on line 2  */
      spl_autoload_call('Parent');
    ?>