В php-8 и более старых версиях работает следующий код
class Foo {
public function __construct(string $string = null) {}
}
А вот в php-8 вместе с раскруткой свойства выдает ошибку
class Foo {
public function __construct(private string $string = null) {}
}
Неустранимая ошибка: нельзя использовать null в качестве значения по умолчанию для параметра $string типа string.
Однако создание строки с нулевым значением работает
class Foo {
public function __construct(private ?string $string = null) {}
}
Так это тоже ошибка или преднамеренное поведение?
private
удаляется, поэтому сомневаюсь. - person   schedule 22.10.2020