0

違いはありますか

class foo {
    public $bar = 'baz';
     }

class foo {

    public $bar;

    public function __construct()
    {
        $this->bar = 'baz';
    }
}
4

4 に答える 4

2

はい、違いがあります...

常に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
    }
}
于 2013-11-10T04:59:58.670 に答える
1

最初は何の違いもありません..

于 2013-11-10T04:59:52.313 に答える
0

私が知っているわけではありません。PHP にはfinalJava のような概念がないため、メソッドはいつでも変更できます。コンストラクタで行うかどうかは何にも影響しません

于 2013-11-10T04:54:32.190 に答える
0

パラメータを使用することは、コンストラクタの概念を最大限に活用する方法です。

そのような:

class foo {

    private $bar;

    public function __construct($bar)
    {
        $this->bar = $bar;
    }

    public function getBar()
    {
        return $this->bar;
    }
}

$foo = new foo("daison12006013");
echo $foo->getBar();
于 2013-11-10T04:59:04.793 に答える