|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | | -<!-- EN-Revision: f94d903985119d3ac00f4528551df947f57b667f Maintainer: irker Status: ready --> |
| 2 | +<!-- EN-Revision: 16f66c05a4060a7d673ae1c70b656d65009407b0 Maintainer: irker Status: ready --> |
3 | 3 | <!-- Reviewed: no --> |
4 | 4 | <sect1 xml:id="language.oop5.properties" xmlns="http://docbook.org/ns/docbook"> |
5 | 5 | <title>Свойства</title> |
@@ -196,8 +196,16 @@ Fatal error: Uncaught Error: Typed property Shape::$numberOfSides must not be ac |
196 | 196 | <sect2 xml:id="language.oop5.properties.readonly-properties"> |
197 | 197 | <title>Readonly-свойства</title> |
198 | 198 | <para> |
199 | | - Начиная с PHP 8.1.0 разрешается объявлять свойство с модификатором <code>readonly</code>, |
200 | | - который защищает свойство от изменения после инициализации. |
| 199 | + Начиная с PHP 8.1.0 свойства разрешили объявлять с модификатором <literal>readonly</literal>, |
| 200 | + который запрещает изменять свойство после инициализации. |
| 201 | + До PHP 8.4.0 свойство с модификатором <literal>readonly</literal> |
| 202 | + автоматически получало закрытую видимость области установки значения, |
| 203 | + и такое свойство разрешали записывать только в том классе, в котором объявили такое свойство. |
| 204 | + С PHP 8.4.0 свойства с модификатором <literal>readonly</literal> |
| 205 | + автоматически получают защищённую видимость области установки значения |
| 206 | + <link linkend="language.oop5.visibility-members-aviz"><literal>protected(set)</literal></link>, |
| 207 | + поэтому значения для такого свойства разрешают устанавливать в дочернем классе. |
| 208 | + Видимость области установки значения свойствам классов разрешается устанавливать вручную. |
201 | 209 | <example> |
202 | 210 | <title>Примеры readonly-свойств</title> |
203 | 211 | <programlisting role="php"> |
|
0 commit comments