Συνάρτηση spl_autoload_call
Η συνάρτηση spl_autoload_call καλεί όλους τους εγγεγραμμένους αυτο-φορτωτές για μια προσπάθεια φόρτωσης της καθορισμένης κλάσης. Σε αντίθεση με την spl_autoload_register, που εγγράφει αυτο-φορτωτές, αυτή η συνάρτηση εκτελεί άμεσα την κλήση τους. Η μοναδική παράμετρος - το όνομα της κλάσης που πρέπει να φορτωθεί.
Σύνταξη
spl_autoload_call(string $class_name): void
Παράδειγμα
Ας προσπαθήσουμε να φορτώσουμε μια μη υπάρχουσα κλάση χωρίς αυτο-φορτωτή:
<?php
spl_autoload_call('NonExistentClass');
?>
Αποτέλεσμα εκτέλεσης κώδικα (σφάλμα, εάν δεν έχουν εγγραφεί αυτο-φορτωτές):
// Τίποτα δεν θα συμβεί, εάν δεν υπάρχουν εγγεγραμμένοι αυτο-φορτωτές
Παράδειγμα
Ας δημιουργήσουμε έναν απλό αυτο-φορτωτή και ας προσπαθήσουμε να φορτώσουμε μια κλάση:
<?php
spl_autoload_register(function($class) {
echo "Προσπάθεια φόρτωσης κλάσης: $class\n";
});
spl_autoload_call('TestClass');
?>
Αποτέλεσμα εκτέλεσης κώδικα:
Προσπάθεια φόρτωσης κλάσης: TestClass
Παράδειγμα
Ας ελέγξουμε τη λειτουργία με πολλούς αυτο-φορτωτές:
<?php
spl_autoload_register(function($class) {
echo "Πρώτος φορτωτής: $class\n";
});
spl_autoload_register(function($class) {
echo "Δεύτερος φορτωτής: $class\n";
});
spl_autoload_call('MyClass');
?>
Αποτέλεσμα εκτέλεσης κώδικα:
Πρώτος φορτωτής: MyClass
Δεύτερος φορτωτής: MyClass
Δείτε επίσης
-
την συνάρτηση spl_autoload_register,
που εγγράφει έναν αυτο-φορτωτή -
την συνάρτηση spl_autoload_functions,
που επιστρέφει τους αυτο-φορτωτές -
την συνάρτηση class_exists,
που ελέγχει μια κλάση