Συνάρτηση spl_autoload_unregister

Η συνάρτηση spl_autoload_unregister επιτρέπει την αφαίρεση μιας προηγούμενως εγγεγραμμένης συνάρτησης αυτόματης φόρτωσης από τη στοίβα SPL. Στην παράμετρο δέχεται μια callback-συνάρτηση, που πρέπει να αφαιρεθεί από τη λίστα των αυτόματων φορτωτών.

Σύνταξη

phpspl_autoload_unregister(callable $autoload_function);

Παράδειγμα

Ας εγγράψουμε και στη συνέχεια ας αφαιρέσουμε έναν αυτόματο φορτωτή:

php<?php
  function my_autoload($class) {
    include 'classes/' . $class . '.php';
  }

  spl_autoload_register('my_autoload');
  spl_autoload_unregister('my_autoload');
?>

Τώρα η συνάρτηση my_autoload δεν θα καλείται πλέον κατά την προσπάθεια αυτόματης φόρτωσης μιας μη ορισμένης κλάσης.

Παράδειγμα

Έλεγχος επιτυχίας αφαίρεσης του αυτόματου φορτωτή:

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

  spl_autoload_register('autoload_one');
  $res = spl_autoload_unregister('autoload_one');
  var_dump($res);
?>

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

phptrue

Παράδειγμα

Προσπάθεια αφαίρεσης μη υπάρχοντος αυτόματου φορτωτή:

php<?php
  $res = spl_autoload_unregister('nonexistent_function');
  var_dump($res);
?>

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

phpfalse

Δείτε επίσης

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