L'appel d'une méthode statique directement en utilisant le nom de la classe en PHP déclenchera-t-il le constructeur de la classe ou de la classe parent ?
淡淡烟草味
淡淡烟草味 2017-07-07 10:34:10
0
3
1413

Comme le titre l'indique, lorsque PHP appelle des méthodes statiques directement en utilisant des noms de classe, il y a deux problèmes :

1 Le constructeur de la classe actuelle sera-t-il appelé ?

2 Le constructeur de la classe parent de la classe actuelle sera-t-il appelé ?

淡淡烟草味
淡淡烟草味

répondre à tous(3)
学霸

Vous devriez le tester vous-même, le navigateur est le meilleur professeur
Exemple 1 :
<?php
classe A{

function __construct(){echo"A::构造函数";}
static function myFun(){echo "你好,很高兴为你答题!";}

}
A::myFun();
?>
Exemple 2 :
<?php
class A{

function __construct(){echo"A::构造函数";}

}
la classe B étend A{

static function myFun(){echo "你好,很高兴为你答题!";}

}
B::myFun();
?>

给我你的怀抱

1. Non
2. Non

Le constructeur n'est appelé que lors de l'instanciation. Les méthodes statiques ne génèrent pas d'instances et n'appelleront pas le constructeur

.
伊谢尔伦

Non, la méthode constructeur ne sera appelée que lorsqu'une classe est instanciée. Les méthodes statiques sont stockées dans la zone de code statique et sont chargées au fur et à mesure du chargement de la classe.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal