@@ -63,8 +63,6 @@ $obj = new SubClass();
6363
6464// Конструктор класса BaseClass
6565$obj = new OtherSubClass();
66-
67- ?>
6866]]>
6967 </programlisting >
7068 </example >
@@ -106,8 +104,6 @@ $p2 = new Point(4);
106104
107105// Вызываем с именованными параметрами (начиная с PHP 8.0):
108106$p3 = new Point(y: 5, x: 4);
109-
110- ?>
111107]]>
112108 </programlisting >
113109 </example >
@@ -137,12 +133,11 @@ $p3 = new Point(y: 5, x: 4);
137133 <sect3 xml : id =" language.oop5.decon.constructor.promotion" >
138134 <title >Продвижение свойств в конструкторе</title >
139135 <para >
140- С PHP 8.0.0 параметры конструктора можно продвинуть
136+ С PHP 8.0.0 параметры конструктора стали поддерживать продвижение
141137 до свойств объекта. Это распространённая практика — присваивать
142- свойствам объекта значения только за счёт переданных в конструктор аргументов.
143- Определение свойств класса в конструкторе значительно
144- сокращает количество шаблонного кода для такого случая. Пример выше можно будет
145- переписать вот так:
138+ свойствам объекта значения только за счёт аргументов, которые передали в конструктор.
139+ Определение свойств в конструкторе сокращает количество шаблонного кода. Предыдущий пример
140+ переписывается вот так:
146141 </para >
147142 <example >
148143 <title >Продвижение параметров конструктора до свойств</title >
@@ -154,8 +149,6 @@ class Point
154149{
155150 public function __construct(protected int $x, protected int $y = 0) {}
156151}
157-
158- ?>
159152]]>
160153 </programlisting >
161154 </example >
@@ -254,8 +247,6 @@ function test(
254247 $c = new A(...[]), // Распаковка аргументов
255248 $d = new B($abc), // Неподдерживаемое постоянное выражение
256249) {}
257-
258- ?>
259250]]>
260251 </programlisting >
261252 </example >
@@ -315,8 +306,6 @@ $p2 = Product::fromJson($some_json_string);
315306$p3 = Product::fromXml($some_xml_string);
316307
317308var_dump($p1, $p2, $p3);
318-
319- ?>
320309]]>
321310 </programlisting >
322311 </example >
@@ -388,8 +377,6 @@ class MyDestructableClass
388377}
389378
390379$obj = new MyDestructableClass();
391-
392- ?>
393380]]>
394381 </programlisting >
395382 </example >
0 commit comments