Junior — Middle
Ποιος είναι ο σκοπός της λειτουργίας __autoload() και ποια παραμέτρους δέχεται;
sobes.tech AI
Απάντηση από AI
Η λειτουργία __autoload() στην PHP προορίζεται για την αυτόματη φόρτωση κλάσεων κατά την πρώτη χρήση τους, εάν η κλάση δεν έχει ακόμη δηλωθεί.
Δέχεται μια παράμετρο — το όνομα της κλάσης που πρέπει να φορτωθεί.
Όταν στον κώδικα συναντάται η χρήση μιας μη υπάρχουσας κλάσης, η PHP καλεί __autoload($className), όπου $className είναι το όνομα αυτής της κλάσης. Μέσα στη λειτουργία, συνήθως, συμπεριλαμβάνεται ένα αρχείο με τον ορισμό της κλάσης.
Παράδειγμα:
function __autoload($className) {
include_once 'classes/' . $className . '.php';
}
$obj = new MyClass(); // αν η MyClass δεν έχει φορτωθεί, θα κληθεί το __autoload με 'MyClass'
Σημαντικό: από την PHP 5.3 και μετά, συνιστάται η χρήση του spl_autoload_register() αντί του __autoload() για την εγγραφή αυτόματων φορτωτών.