Funksie spl_autoload_call

Die funksie spl_autoload_call roep alle geregistreerde outoladers aan om die gespesifiseerde klas te probeer laai. In teenstelling met spl_autoload_register, wat outoladers registreer, voer hierdie funksie hulle oproep direk uit. Die enigste parameter is die naam van die klas wat gelaai moet word.

Sintaksis

phpspl_autoload_call(string $class_name): void

Voorbeeld

Kom ons probeer om 'n nie-bestaande klas te laai sonder 'n outolader:

php<?php
spl_autoload_call('NonExistentClass');
?>

Resultaat van die kode-uitvoering (fout, as daar geen outoladers geregistreer is nie):

php// Niks sal gebeur as daar geen geregistreerde outoladers is nie

Voorbeeld

Kom ons skep 'n eenvoudige outolader en probeer om 'n klas te laai:

php<?php
spl_autoload_register(function($class) {
  echo "Trying to load class: $class\n";
});

spl_autoload_call('TestClass');
?>

Resultaat van die kode-uitvoering:

phpTrying to load class: TestClass

Voorbeeld

Kom ons toets die werking met verskeie outoladers:

php<?php
spl_autoload_register(function($class) {
  echo "First loader: $class\n";
});

spl_autoload_register(function($class) {
  echo "Second loader: $class\n";
});

spl_autoload_call('MyClass');
?>

Resultaat van die kode-uitvoering:

phpFirst loader: MyClass
Second loader: MyClass

Sien ook