Utilisation de spl_autoload_register
Bonjour,
Je ne suis pas sûr d'avoir bien compris ici :
http://g-rossolini.developpez.com/tu...epts#LVI-A-2-b
Puis-je résumé pour faire simple :
"Lorsque l'on a plusieurs autoloads dans un même code,
on est obligé de mettre ces spl_autoload_register."
Je ne comprends pas non plus pourquoi il a mis
$object = new My_Special_Class();
avant les autoloads.
Habituellement, il me semble que l'on encode la création
des objets après l'appel des classes.
NB : Enlevez les commentaires pour savoir ce qu'il se passe pendant l'exécution du script.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <?php
spl_autoload_register('basic_autoload');
spl_autoload_register('dotted_autoload');
spl_autoload_register('pear_autoload');
$object = new My_Special_Class();
function basic_autoload($class)
{
$file = $class.'.php';
if(file_exists($file))
{
require_once $file;
}
//echo $file.'<br/>';
}
function dotted_autoload($class)
{
$file = str_replace('_', '.', $class).'.php';
if(file_exists($file))
{
require_once $file;
}
//echo $file.'<br/>';
}
function pear_autoload($class)
{
$file = str_replace('_', '/', $class).'.php';
if(file_exists($file))
{
require_once $file;
}
//echo $file.'<br/>';
} |