JeuWeb - Crée ton jeu par navigateur
[PHP] __autoload les classes mère (extends) ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] __autoload les classes mère (extends) ? (/showthread.php?tid=6493)

Pages : 1 2 3


RE: [PHP] __autoload les classes mère (extends) ? - Xenos - 10-11-2012

Pour en revenir à la question d'Argrorate, donc, après test simple, oui, le lien est fait (PHP 5.3.5):

Code PHP :
<?php
function __autoload($classname)
{
echo(
'autoload de '.$classname);
};

class
test extends truc
{
};

// new bidule();
// new test();
echo('done');
?>

Répond bien:
Citation :autoload de truc

Donc, même si la classe fille n'est pas instanciée mais déclarée, la classe mère est passée dans l'auto-load.
Si la classe fille est instanciée sans avoir été déclarée avant, PHP va la chercher dans l'auto-load, et si cette classe fille a besoin d'une classe mère, cette classe mère est également passée par autoload:

Code PHP :
<?php
function __autoload($classname)
{
echo(
'autoload de '.$classname.'<br>');
class
test extends truc
{
};
};


// new bidule();
new test();
echo(
'done');
?>

Répond bien:
Citation :autoload de test
autoload de truc

Plume, quelle était l'incohérence? Oui, c'est peut-etre archaïque (mais bon, c'est un choix personnel), mais en quoi était-ce un discours incohérent?