फ़ंक्शन spl_autoload_register

फ़ंक्शन spl_autoload_register दिए गए फ़ंक्शन को कक्षाओं के ऑटोलोडिंग विधि के कार्यान्वयन के रूप में पंजीकृत करता है। जब PHP एक अपरिभाषित क्लास का सामना करता है, तो यह क्रमिक रूप से सभी पंजीकृत ऑटोलोडिंग फ़ंक्शन को कॉल करता है, उन्हें कक्षा का नाम पास करता है। पहला पैरामीटर - ऑटोलोडिंग के लिए कॉलबैक-फ़ंक्शन, दूसरा पैरामीटर (वैकल्पिक) - त्रुटि होने पर अपवाद फेंकना है या नहीं, तीसरा पैरामीटर (वैकल्पिक) - क्या फ़ंक्शन को कतार की शुरुआत में जोड़ना है।

वाक्य-विन्यास

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

उदाहरण

ऑटोलोडिंग फ़ंक्शन का सरल पंजीकरण:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // अब स्पष्ट include के बिना ऑब्जेक्ट बनाया जा सकता है
  $obj = new MyClass();
?>

उदाहरण

ऑटोलोडिंग के लिए अनाम फ़ंक्शन का उपयोग:

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

उदाहरण

कई ऑटोलोडिंग फ़ंक्शन का पंजीकरण:

php<?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,
    जो कक्षा की जाँच करता है