違いはありますか
class foo {
public $bar = 'baz';
}
と
class foo {
public $bar;
public function __construct()
{
$this->bar = 'baz';
}
}
常にconstructor
変数を初期化する方法を使用してください。以下の例は、最初のメソッドでエラーをスローします。
class foo {
public $bar = $_POST['foo']; //Error will be thrown
}
class foo {
public $bar;
public function __construct()
{
$this->bar = $_POST['foo']; // Works just fine
}
}
最初は何の違いもありません..
私が知っているわけではありません。PHP にはfinal
Java のような概念がないため、メソッドはいつでも変更できます。コンストラクタで行うかどうかは何にも影響しません
パラメータを使用することは、コンストラクタの概念を最大限に活用する方法です。
そのような:
class foo {
private $bar;
public function __construct($bar)
{
$this->bar = $bar;
}
public function getBar()
{
return $this->bar;
}
}
$foo = new foo("daison12006013");
echo $foo->getBar();