Συνάρτηση spl_autoload_call

Η συνάρτηση spl_autoload_call καλεί όλους τους εγγεγραμμένους αυτο-φορτωτές για μια προσπάθεια φόρτωσης της καθορισμένης κλάσης. Σε αντίθεση με την spl_autoload_register, που εγγράφει αυτο-φορτωτές, αυτή η συνάρτηση εκτελεί άμεσα την κλήση τους. Η μοναδική παράμετρος - το όνομα της κλάσης που πρέπει να φορτωθεί.

Σύνταξη

phpspl_autoload_call(string $class_name): void

Παράδειγμα

Ας προσπαθήσουμε να φορτώσουμε μια μη υπάρχουσα κλάση χωρίς αυτο-φορτωτή:

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

Αποτέλεσμα εκτέλεσης κώδικα (σφάλμα, εάν δεν έχουν εγγραφεί αυτο-φορτωτές):

php// Τίποτα δεν θα συμβεί, εάν δεν υπάρχουν εγγεγραμμένοι αυτο-φορτωτές

Παράδειγμα

Ας δημιουργήσουμε έναν απλό αυτο-φορτωτή και ας προσπαθήσουμε να φορτώσουμε μια κλάση:

php<?php
spl_autoload_register(function($class) {
  echo "Προσπάθεια φόρτωσης κλάσης: $class\n";
});

spl_autoload_call('TestClass');
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phpΠροσπάθεια φόρτωσης κλάσης: TestClass

Παράδειγμα

Ας ελέγξουμε τη λειτουργία με πολλούς αυτο-φορτωτές:

php<?php
spl_autoload_register(function($class) {
  echo "Πρώτος φορτωτής: $class\n";
});

spl_autoload_register(function($class) {
  echo "Δεύτερος φορτωτής: $class\n";
});

spl_autoload_call('MyClass');
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phpΠρώτος φορτωτής: MyClass
Δεύτερος φορτωτής: MyClass

Δείτε επίσης

  • την συνάρτηση spl_autoload_register,
    που εγγράφει έναν αυτο-φορτωτή
  • την συνάρτηση spl_autoload_functions,
    που επιστρέφει τους αυτο-φορτωτές
  • την συνάρτηση class_exists,
    που ελέγχει μια κλάση