Une méthode constructeur en PHP prend-elle ou non les paramètres déclarés dans la classe?
J'ai vu sur plusieurs sites et livres et dans la documentation PHP que la fonction fonction __construct () ne prend aucun paramètre.
Le constructeur PHP peut prendre des paramètres comme les autres fonctions. Il n'est pas nécessaire d'ajouter des paramètres à la fonction __construct()
, par exemple:
Exemple 1: sans paramètres
<?php
class example {
public $var;
function __construct() {
$this->var = "My example.";
}
}
$example = new example;
echo $example->var; // Prints: My example.
?>
Exemple 2: avec paramètres
<?php
class example {
public $var;
function __construct($param) {
$this->var = $param;
}
}
$example = new example("Custom parameter");
echo $example->var; // Prints: Custom parameter
?>
__construct
peut prendre des paramètres. Selon la documentation officielle , cette signature de méthode est:
void __construct ([ mixed $args = "" [, $... ]] )
Il semble donc que cela puisse prendre des paramètres!
Comment l'utiliser:
class MyClass {
public function __construct($a) {
echo $a;
}
}
$a = new MyClass('hello world'); // Will print "hello world"