331 of 410 menu

Συνάρτηση spl_autoload_register

Η συνάρτηση spl_autoload_register καταχωρεί μια δεδομένη συνάρτηση ως υλοποίηση της μεθόδου αυτόματης φόρτωσης κλάσεων. Όταν η PHP συναντήσει μια μη ορισμένη κλάση, καλεί διαδοχικά όλες τις καταχωρημένες συναρτήσεις αυτόματης φόρτωσης, περνώντας τους το όνομα της κλάσης. Η πρώτη παράμετρος είναι η callback-συνάρτηση για την αυτόματη φόρτωση, η δεύτερη παράμετρος (προαιρετική) είναι αν να εκτινάξει εξαίρεση σε περίπτωση σφάλματος, η τρίτη παράμετρος (προαιρετική) είναι αν να προσθέσει τη συνάρτηση στην αρχή της ουράς.

Σύνταξη

spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);

Παράδειγμα

Απλή καταχώρηση συνάρτησης αυτόματης φόρτωσης:

<?php function my_autoloader($class) { include 'classes/' . $class . '.php'; } spl_autoload_register('my_autoloader'); // Τώρα μπορούμε να δημιουργήσουμε αντικείμενα χωρίς ρητό include $obj = new MyClass(); ?>

Παράδειγμα

Χρήση ανώνυμης συνάρτησης για αυτόματη φόρτωση:

<?php spl_autoload_register(function ($class) { include 'lib/' . str_replace('\\', '/', $class) . '.php'; }); $obj = new Some\Namespace\MyClass(); ?>

Παράδειγμα

Καταχώρηση πολλαπλών συναρτήσεων αυτόματης φόρτωσης:

<?php spl_autoload_register('autoloader1'); spl_autoload_register('autoloader2'); spl_autoload_register('autoloader3', true, true); // Προσθέτουμε στην αρχή της ουράς // Η PHP θα καλεί τις συναρτήσεις με τη σειρά: autoloader3, autoloader1, autoloader2 $obj = new MyClass(); ?>

Δείτε επίσης

  • τη συνάρτηση spl_autoload_functions,
    που επιστρέφει τους αυτόματους φτωτές
  • τη συνάρτηση spl_autoload_unregister,
    που αφαιρεί έναν αυτόματο φτωτή
  • τη συνάρτηση class_exists,
    που ελέγχει μια κλάση
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη