php[world] 2019 — 25 years of PHP

spl_autoload_call

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_call Попытка загрузить класс всеми зарегистрированными функциями __autoload()

Описание

spl_autoload_call ( string $class_name ) : void

Эту функцию можно использовать для ручного поиска класса или интерфейса, используя все зарегистрированные методы __autoload.

Список параметров

class_name

Имя искомого класса.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

add a note add a note

User Contributed Notes 1 note

up
8
k dot varmark at gmail dot com
8 years ago
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');

?>
To Top