PHP在__construct()vs声明中初始化变量

Jie*_*eng 35 php

我想知道两者之间是否有任何区别

class TestClass {
    private $_var = "abc";
}
Run Code Online (Sandbox Code Playgroud)

VS

class TestClass {
    private $_var;
    function __construct() {
        $this->_var = "abc";
    }
} 
Run Code Online (Sandbox Code Playgroud)

我想知道后者是否是首选方式/更好的做法?有任何功能差异?

Mic*_*ler 27

他们实际上是一样的.我更喜欢前者,因为那时只有一个地方可以查找值及其默认值.

另一方面,如果您需要对其进行动态处理或将其设置为除数组或基元之外的任何内容,则需要使用第二种形式.值得注意的是,您不能使用函数调用来声明第一种形式的变量.