Обновление до английской версии

This commit is contained in:
Sergey Panteleev
2021-01-20 09:34:42 +03:00
parent 06b5d4d39c
commit 599edce2f9
4 changed files with 67 additions and 43 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: shein Status: ready -->
<!-- EN-Revision: 4317fec7555dd42621f88162cc5068092e5c5cfb Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.oop5.decon" xmlns="http://docbook.org/ns/docbook">
@ -66,12 +66,8 @@ $obj = new OtherSubClass();
</programlisting>
</example>
<para>
В отличие от других методов, PHP не будет генерировать ошибку
уровня <constant>E_STRICT</constant>, если
<link linkend="object.construct">__construct()</link>
переопределяется с другими параметрами, отличными от тех,
которые были объявлены в родительском методе
<link linkend="object.construct">__construct()</link>.
В отличие от других методов, <link linkend="object.construct">__construct()</link>
освобождается от обычных <link linkend="language.oop.lsp">правил совместимости сигнатуры</link> при наследовании.
</para>
<para>
Конструкторы - это обычные методы, которые вызываются при

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7e52ec86851a62d1d00109ccffa5dab5c73e5cc2 Maintainer: shein Status: ready -->
<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.oop5.static" xmlns="http://docbook.org/ns/docbook">
@ -25,13 +25,6 @@
может быть вызван).
</para>
<para>
В целях совместимости с PHP 4, если определение
<link linkend="language.oop5.visibility">области видимости</link> не используется,
то свойство или метод
будут обрабатываться так, как если бы он был объявлен как <literal>public</literal>.
</para>
<sect2 xml:id="language.oop5.static.methods">
<title>Статические методы</title>
<para>
@ -40,18 +33,14 @@
объявленного как статический.
</para>
<caution>
<simpara>
В PHP 5 вызов нестатических методов статически вызовет ошибку уровня
<constant>E_STRICT</constant>.
</simpara>
</caution>
<warning>
<simpara>
В PHP 7 вызов нестатических методов статически объявлен устаревшим
и вызовет ошибку уровня <constant>E_DEPRECATED</constant>. Поддержка вызова
нестатических методов статически может быть удалена в будущем.
</simpara>
<para>
Вызов нестатических методов статически вызывает ошибку <classname>Error</classname>.
</para>
<para>
До PHP 8.0.0 вызов нестатических методов статически был объявлен устаревшим
и вызывал ошибку уровня <constant>E_DEPRECATED</constant>.
</para>
</warning>
<example>
@ -67,7 +56,7 @@ class Foo {
Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // Начиная с PHP 5.3.0
$classname::aStaticMethod();
?>
]]>
</programlisting>
@ -81,15 +70,14 @@ $classname::aStaticMethod(); // Начиная с PHP 5.3.0
</para>
<para>
Как и любая другая статическая переменная PHP, статические свойства
могут инициализироваться только используя литерал или константу до PHP 5.6;
выражения не допускается. В PHP 5.6 и более новых версиях применяются те же правила,
что и для выражений &const;: возможны некоторые выражения, если они могут быть вычислены
могут инициализироваться по тем же правилам, что и выражения &const;:
возможны некоторые выражения, если они могут быть вычислены
во время компиляции.
</para>
<para>
Начиная с PHP 5.3.0, существует возможность ссылаться на класс используя
переменную. Значение переменной в таком случае не может быть ключевым
На класс можно ссылаться с помощью переменной.
Значение переменной в таком случае не может быть ключевым
словом (например, <literal>self</literal>, <literal>parent</literal> и
<literal>static</literal>).
</para>
@ -122,9 +110,9 @@ $foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n"; // Не определено свойство my_static
print $foo::$my_static . "\n"; // Начиная с PHP 5.3.0
print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n"; // Начиная с PHP 5.3.0
print $classname::$my_static . "\n";
print Bar::$my_static . "\n";
$bar = new Bar();
@ -135,7 +123,6 @@ print $bar->fooStatic() . "\n";
</example>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a07808fdd74a7ebda792e77c4c7b377e6d44f26a Maintainer: tmn Status: ready -->
<!-- EN-Revision: 5b5bb5d9b3eb2301f2ada74817421e40ae3a1752 Maintainer: tmn Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="function.libxml-disable-entity-loader" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@ -10,6 +10,10 @@
</refpurpose>
</refnamediv>
<refsynopsisdiv>
&warn.deprecated.function-8-0-0;
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
@ -21,7 +25,9 @@
Обратите внимание, что отключение загрузки внешних сущностей может вызвать общие проблемы
с загрузкой XML-документов. Однако в libxml 2.9.0 подстановка сущностей
отключена по умолчанию, поэтому нет необходимости отключать загрузку внешних
сущностей.
сущностей, если нет необходимости разрешать ссылки на внутренние сущности с помощью <constant>LIBXML_NOENT</constant>.
Как правило, лучше использовать <function>libxml_set_external_entity_loader</function>
для подавления загрузки внешних сущностей.
</para>
</refsect1>
@ -95,13 +101,13 @@
<para>
<simplelist>
<member><function>libxml_use_internal_errors</function></member>
<member><function>libxml_set_external_entity_loader</function></member>
<member><link linkend="libxml.constants">Константа <constant>LIBXML_NONET</constant></link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f90df97fa5ebfa6e7fcace04976900d6700467cc Maintainer: rjhdby Status: ready -->
<!-- EN-Revision: 0e06ad7d77756a2f390e14d19b823a42ab65892b Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="function.libxml-set-external-entity-loader" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@ -16,6 +16,9 @@
</methodsynopsis>
<para>
Изменение загрузчика по умолчанию для внешних объектов.
Можно использовать для подавления расширения произвольных внешних сущностей, чтобы избежать XXE-атак,
даже если для соответствующей операции установлено значение <constant>LIBXML_NOENT</constant>.
Обычно это лучше, чем вызов <function>libxml_disable_entity_loader</function>.
</para>
</refsect1>
@ -26,10 +29,42 @@
<term><parameter>resolver_function</parameter></term>
<listitem>
<para>
Функция обратного вызова (<type>callable</type>), принимающая три аргумента.
Две строки, публичный и системный идентификаторы и контекст (массив с четырьмя ключами).
Эта функция должна возвращать ресурс, строку, из которой этот ресурс можно открыть,
или &null;.
Callback-функция (<type>callable</type>) со следующей сигнатурой:
<methodsynopsis>
<type class="union"><type>resource</type><type>string</type><type>null</type></type><methodname><replaceable>resolver</replaceable></methodname>
<methodparam><type>string</type><parameter>public_id</parameter></methodparam>
<methodparam><type>string</type><parameter>system_id</parameter></methodparam>
<methodparam><type>array</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<variablelist>
<varlistentry>
<term><parameter>public_id</parameter></term>
<listitem>
<simpara>
Публичный идентификатор.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>system_id</parameter></term>
<listitem>
<simpara>
Системный идентификатор.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<simpara>
Массив из четырёх элементов: <literal>"directory"</literal>, <literal>"intSubName"</literal>,
<literal>"extSubURI"</literal> и <literal>"extSubSystem"</literal>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
Эта callback-функция должна возвращать ресурс (&resource;) или строку (&string;) из которой
можно открыть ресурс. Если возвращается &null;, разрешение ссылки на сущность завершится ошибкой.
</para>
</listitem>
</varlistentry>