PHPのコンストラクターメソッドは、クラスで宣言されたパラメーターを受け取りますか?
複数のサイトや書籍、およびPHPのドキュメントで、関数関数__construct()がパラメーターを受け取らないことを確認しました。
PHPコンストラクタは、他の関数と同様にパラメータを取ることができます。たとえば、__construct()
関数にパラメータを追加する必要はありません。
例1:パラメーターなし
<?php
class example {
public $var;
function __construct() {
$this->var = "My example.";
}
}
$example = new example;
echo $example->var; // Prints: My example.
?>
例2:パラメータあり
<?php
class example {
public $var;
function __construct($param) {
$this->var = $param;
}
}
$example = new example("Custom parameter");
echo $example->var; // Prints: Custom parameter
?>
__construct
はパラメータを取ることができます。 公式ドキュメント によると、このメソッドの署名は次のとおりです。
void __construct ([ mixed $args = "" [, $... ]] )
だからそれはパラメーターを取ることができるようです!
それの使い方:
class MyClass {
public function __construct($a) {
echo $a;
}
}
$a = new MyClass('hello world'); // Will print "hello world"