在以前类初始化赋值是需要这样的
class MyClass {
  private $a;
  private $b;
  public function __construct(string $a, string $b) {
    $this->a = $a;
    $this->b = $b;
    var_dump($this->a);
  }
}PHP8
class Abcd {
  public function __construct(private string $a, public private $b) {
    var_dump($this->a);
  }
}或者如下:
class Abcd {
  public function __construct(public readonly string $a, public readonly string $b) {
    var_dump($this->a);
  }
}
$abcd = new Abcd('a', 'b');
var_dump($abcd->a);原文: https://www.php.net/manual/en/language.oop5.decon.php#language.oop5.decon.constructor.promotion