() Function and the difference between the __autoload sql_autoload_register () of

 1: __ autoload ($ class) because it is a function, it is defined only once, using a plurality of error conflict; and sql_autoload_register ( 'function') define a plurality, it effectively creates a queue of automatic loading function according to the order in turn defined

2: SPL function is very rich, there is more room for maneuver: as spl_autoload_unregister () function unregister already registered, spl_autoload_functions () returns all registered

3: automatically loads the object is more convenient, many frameworks are doing:

 1 class ClassAutoloader {
 2     public function __construct() {
 3         spl_autoload_register(array($this, 'loader'));
 4     }
 5     private function loader($className) {
 6         echo 'Trying to load ', $className, ' via ', __METHOD__, "()\n";
 7         include $className . '.php';
 8     }
 9 }
10 
11 $autoloader = new ClassAutoloader();
12 
13 $obj = new Class1();
14 $obj = new Class2();

Summary: recommended sql_autoload_register () function, abandoned __autoload ()

2: SPL function is very rich, there is more room for maneuver: as spl_autoload_unregister () function unregister already registered, spl_autoload_functions () returns all registered

3: automatically loads the object is more convenient, many frameworks are doing:

 1 class ClassAutoloader {
 2     public function __construct() {
 3         spl_autoload_register(array($this, 'loader'));
 4     }
 5     private function loader($className) {
 6         echo 'Trying to load ', $className, ' via ', __METHOD__, "()\n";
 7         include $className . '.php';
 8     }
 9 }
10 
11 $autoloader = new ClassAutoloader();
12 
13 $obj = new Class1();
14 $obj = new Class2();

Summary: recommended sql_autoload_register () function, abandoned __autoload ()

Guess you like

Origin www.cnblogs.com/jiayu123/p/11285780.html