svn: /phpdoc/ru/trunk/appendices/migration74/ deprecated.xml incompatible.xml new-features.xml other-changes.xml windows-support.xml
[email protected] (Alexey Pyltsyn)
| Newsgroups | php.doc.ru |
|---|---|
| Message-ID | <[email protected]> |
lex Sun, 22 Sep 2019 17:18:20 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=348047
Log:
Migration to PHP 7.4: fixes
Changed paths:
U phpdoc/ru/trunk/appendices/migration74/deprecated.xml
U phpdoc/ru/trunk/appendices/migration74/incompatible.xml
U phpdoc/ru/trunk/appendices/migration74/new-features.xml
U phpdoc/ru/trunk/appendices/migration74/other-changes.xml
U phpdoc/ru/trunk/appendices/migration74/windows-support.xml
svn-diffs-348047.txt
(text/x-diff, 27 KB)
Modified: phpdoc/ru/trunk/appendices/migration74/deprecated.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration74/deprecated.xml 2019-09-22 14:59:22 UTC (rev 348046)
+++ phpdoc/ru/trunk/appendices/migration74/deprecated.xml 2019-09-22 17:18:20 UTC (rev 348047)
@@ -14,7 +14,7 @@
<para>
Во вложенных тернарных операциях должны явно использоваться круглые скобки, чтобы определить порядок операций.
- Раньше, если явно не заданы скобок, в большинстве случаев левая ассоциативность не приводила к ожидаемому поведению.
+ Раньше, если скобки явно не заданы, в большинстве случаев левая ассоциативность не приводила к ожидаемому поведению.
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -33,7 +33,7 @@
<title>Обращение к индексу массива и строки через фигурные скобки</title>
<para>
- Синтаксис доступа к массиву и строке с помощью фигурных скобок объявлен устаревшим.
+ Синтаксис доступа к массиву и строке с использованием фигурных скобок объявлен устаревшим.
Используйте <literal>$var[$idx]</literal> вместо <literal>$var{$idx}</literal>.
</para>
</sect3>
@@ -56,16 +56,16 @@
<para>
Отмена привязки <literal>$this</literal> в нестатическом замыкании,
- которое использует <literal>$this</literal>, объявлено устаревшей.
+ которое использует <literal>$this</literal>, объявлена устаревшей.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.parent">
- <title>Ключевое слово без родительского класса</title>
+ <title>Ключевое слово <literal>parent</literal> вне родительского класса</title>
<para>
Использование <literal>parent</literal> внутри класса, у которого нет родителя, объявлено устаревшим,
- а в будущем произойдет ошибка компиляции. В данный момент ошибка будет только при обращении к родителю во время выполнения.
+ а в будущем произойдет ошибка компиляции. А пока сейчас ошибка будет только при обращении к родителю во время выполнения.
</para>
</sect3>
@@ -157,7 +157,7 @@
<title>Использование implode с нерекомендуемым порядком параметров</title>
<para>
- Передача параметров в <function>implode</function> в обратном порядке объявлено устаревшей,
+ Передача параметров в <function>implode</function> в обратном порядке объявлена устаревшей -
используйте <literal>implode($glue, $parts)</literal> вместо <literal>implode($parts, $glue)</literal>.
</para>
</sect3>
@@ -211,7 +211,7 @@
<para>
Вызовы <methodname>ReflectionType::__toString</methodname> теперь создают уведомление об устаревшей возможности.
- Этот метод объявлен устаревшим в пользу <methodname>ReflectionNamedType::getName</methodname> в документации с PHP 7.1,
+ Этот метод объявлен устаревшим в пользу использования <methodname>ReflectionNamedType::getName</methodname> в документации с PHP 7.1,
но не выдавал соответствующего уведомления по техническим причинам.
</para>
<para>
@@ -239,8 +239,8 @@
<para>
Флаги <constant>AI_IDN_ALLOW_UNASSIGNED</constant> и
<constant>AI_IDN_USE_STD3_ASCII_RULES</constant> для функции
- <function>socket_addrinfo_lookup</function> объявлены устаревшими,
- due to an upstream deprecation in glibc.
+ <function>socket_addrinfo_lookup</function> объявлены устаревшими
+ из-за обновления glibc.
</para>
</sect2>
Modified: phpdoc/ru/trunk/appendices/migration74/incompatible.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration74/incompatible.xml 2019-09-22 14:59:22 UTC (rev 348046)
+++ phpdoc/ru/trunk/appendices/migration74/incompatible.xml 2019-09-22 17:18:20 UTC (rev 348047)
@@ -45,10 +45,10 @@
Использование <literal><?php</literal> в конце файла (без завершающей новой строки)
теперь будет интерпретироваться как открывающий тег PHP.
Ранее он обрабатывался либо как короткий открывающий тег
- с последующей строкой (??) <literal>php</literal>
- и приводил к синтаксической ошибке (с <literal>short_open_tag=1</literal>),
- либо воспринимался как строковый литерал (=строока?) <literal><?php</literal>
- (с <literal>short_open_tag=0</literal>).
+ с последующим литералом <literal>php</literal>
+ и приводил к синтаксической ошибке (при <literal>short_open_tag=1</literal>),
+ либо воспринимался как строковый литерал <literal><?php</literal>
+ (в случае <literal>short_open_tag=0</literal>).
</para>
</sect3>
@@ -106,8 +106,8 @@
<para>
Приложения, правильно использующие константы PASSWORD_DEFAULT,
- PASSWORD_BCRYPT, PASSWORD_ARGON2I и PASSWORD_ARGON2ID, будут по-прежнему
- работать корректно.
+ PASSWORD_BCRYPT, PASSWORD_ARGON2I и PASSWORD_ARGON2ID, будут
+ работать как и раньше.
</para>
</sect3>
@@ -116,7 +116,7 @@
<para>
Функция <function>htmlentities</function> теперь будет выдавать уведомление
- (вместо предупреждения standards warning - ???), если она используется
+ (вместо предупреждения уровня E_STRICT), если она используется
с кодировкой, для которой поддерживается только преобразование основных символов.
В этом случае она эквивалентна использованию <function>htmlspecialchars</function>.
</para>
@@ -144,7 +144,7 @@
<para>
Теперь функции BCMath теперь будут выдавать предупреждения,
- если передано число с ошибкам, такое как <literal>"32foo"</literal>.
+ если передано число с ошибкой, например, <literal>"32foo"</literal>.
Подобный аргумент, как и раньше, будет интерпретирован как ноль.
</para>
</sect2>
@@ -198,7 +198,7 @@
<title>MySQLi</title>
<para>
- Функциональность встроенного сервера была удалена. Это было сломано, начиная, по меньшей мере, с PHP 7.0.
+ Функциональность встроенного сервера была удалена. Она была сломана как минимум с PHP 7.0.
</para>
<para>
Недокументированное свойство <literal>mysqli::$stat</literal> было удалено
@@ -211,12 +211,12 @@
<para>
Функция <function>openssl_random_pseudo_bytes</function> теперь будет
- выбрасывать исключение в ситуациях, по аналогии с <function>random_bytes</function>.
+ выбрасывать исключение в ситуациях, что и функция <function>random_bytes</function>.
В частности, выбрасывается <classname>Error</classname>, если количество запрошенных байтов
меньше или равно нулю. Исключение <classname>Exception</classname> выбрасывается,
- если не может быть получена нужная случайность.
- Аргумент <literal>$crypto_strong</literal> гарантированно всегда будет &true;,
- если функция ничего не выбрасывает, поэтому явно проверять ее не нужно.
+ если не получена достаточная случайность.
+ Аргумент <literal>$crypto_strong</literal> гарантированно всегда будет равен &true;,
+ если функция ничего не выбрасывает, поэтому явно проверять его не нужно.
</para>
</sect2>
@@ -246,9 +246,9 @@
<title>Reflection</title>
<para>
- Объекты Reflection теперь будут генерировать исключение, если попробовать
+ Объекты Reflection теперь генерируют исключение, если попробовать
их сериализовать. Сериализация объектов Reflection никогда не поддерживалась
- и приводила к порче объектов Reflection. Сейчас это было явно запрещено.
+ и приводила к повреждению объектов Reflection. Сейчас это было явно запрещено.
</para>
</sect2>
@@ -283,7 +283,7 @@
</listitem>
</itemizedlist>
<para>
- На приведение типа <literal>(array)</literal> эти изменения не влияют.
+ На приведение типа <literal>(array)</literal> эти изменения не повлияют.
Они по-прежнему возвращают либо упакованный массив, либо свойства <classname>ArrayObject</classname>,
в зависимости от того, используется ли флаг <constant>ArrayObject::STD_PROP_LIST</constant>.
</para>
@@ -294,12 +294,12 @@
</para>
<para>
<classname>ArrayObject</classname>, <classname>ArrayIterator</classname>,
- <classname>SplDoublyLinkedList</classname> and <classname>SplObjectStorage</classname>
- теперь поддерживают <literal>__serialize()</literal> and <literal>__unserialize()</literal>
+ <classname>SplDoublyLinkedList</classname> и <classname>SplObjectStorage</classname>
+ теперь поддерживают <literal>__serialize()</literal> и <literal>__unserialize()</literal>
в дополнение к интерфейсу <interfacename>Serializable</interfacename>.
- Поэтому отные созданные в более старых версиях PHP данные сериализации,
- все еще могут быть не сериализованными. Однако новые созданные данные в PHP 7.4,
- не будут обрабатываться в более старых версиях.
+ Поэтому теперь созданные в более старых версиях PHP сериализованные данные,
+ все еще могут быть неверно обработаны. Однако новые созданные сериализованные данные в PHP 7.4,
+ не будут воспринматься в более старых версиях.
</para>
</sect2>
@@ -307,9 +307,8 @@
<title>Лексер (Tokenizer)</title>
<para>
- Функция <function>token_get_all</function> теперь приведет к метке
- <constant>T_BAD_CHARACTER</constant> в случае непредвиденных символов
- instead of leaving behind holes in the token stream.
+ Функция <function>token_get_all</function> теперь отобразит метку
+ <constant>T_BAD_CHARACTER</constant> в случае обнаружения непредвиденных символов в потоке меток.
</para>
</sect2>
Modified: phpdoc/ru/trunk/appendices/migration74/new-features.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration74/new-features.xml 2019-09-22 14:59:22 UTC (rev 348046)
+++ phpdoc/ru/trunk/appendices/migration74/new-features.xml 2019-09-22 17:18:20 UTC (rev 348047)
@@ -28,7 +28,7 @@
</informalexample>
В приведенном примере выше показано, что <literal>$user->id</literal> можно
присвоить только значения типа <type>integer</type>, когда как <literal>$user->name</literal>
- - значения типа <type>string</type>.
+ - исключительно значения типа <type>string</type>.
</para>
</sect3>
@@ -122,7 +122,7 @@
<title>Разделитель в числовых литералах</title>
<para>
- Теперь в числовых литералах между знаками могут быть символы подчёркивания.
+ Теперь в числовых литералах между знаками могут быть символы подчеркивания.
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -185,7 +185,7 @@
<para>
FFI - новое расширение, которое предлагает простой способ вызова
встроенных функций, доступа к встроенным переменным,
- а также создавать или обращаться к структурам данным в библиотеках на языке Си.
+ а также создать или обращаться к структурам данным в библиотеках на языке Си.
</para>
</sect2>
@@ -239,7 +239,7 @@
<title>PDO</title>
<para>
- Имя пользователя и пароль теперь можно указать как часть PDO DSN для
+ Имя пользователя и пароль теперь можно указать как часть DSN для
драйверов mysql, mssql, sybase, dblib, firebird и oci. Ранее поддержка этого
была только для драйвера pgsql. Если имя пользователя/пароль указаны,
и в конструкторе, и в DSN, то конструктор будет иметь приоритет.
@@ -248,7 +248,7 @@
Также теперь можно экранировать вопросительные знаки в SQL-запросах, чтобы
они не воспринимались как именованные параметры.
Использование <literal>??</literal> отправит один знак вопроса в базу данных,
- и например, в случае использования PostgreSQL, будет использован оператор
+ и, например, в случае использования PostgreSQL, будет использован оператор
проверки существования ключа в JSON (<literal>?</literal>).
</para>
</sect2>
@@ -271,7 +271,7 @@
</para>
<para>
<literal>PDO::setAttribute(PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES, true)</literal>
- позволяет использовать расширенные коды результата SQLite3 в errorInfo().
+ позволяет использовать расширенные коды результата SQLite3 в <function>PDOStatement::errorInfo</function>.
</para>
</sect2>
@@ -290,13 +290,13 @@
</sect2>
<sect2 xml:id="migration74.new-features.standard">
- <title>Стандарт</title>
+ <title>Стандартное</title>
<sect3 xml:id="migration74.new-features.standard.strip-tags">
<title>strip_tags() с массивом имен тегов</title>
<para>
Функция <function>strip_tags</function> теперь также принимает массив разрешенных тегов:
- вместр <literal>strip_tags($str, '<a><p>')</literal>
+ вместо <literal>strip_tags($str, '<a><p>')</literal>
теперь можно написать <literal>strip_tags($str, ['a', 'p'])</literal>.
</para>
</sect3>
@@ -306,7 +306,7 @@
<para>
Добавлен новый механизм сериализации пользовательских объектов, использующий
два новых магических метода: <literal>__serialize</literal>
- and <literal>__unserialize</literal>.
+ и <literal>__unserialize</literal>.
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -328,7 +328,7 @@
<sect3 xml:id="migration74.new-features.standard.array-merge-no-args">
<title>Функции слияния массивов без аргументов</title>
<para>
- Функции <function>array_merge</function> and <function>array_merge_recursive</function>
+ Функции <function>array_merge</function> и <function>array_merge_recursive</function>
теперь могут вызываться без каких-либо аргументов, и тогда они возвратят пустой массив.
Это полезно в сочетании с оператором расширения, например, <literal>array_merge(...$arrays)</literal>.
</para>
@@ -338,7 +338,7 @@
<title><function>proc_open</function></title>
<para>
<function>proc_open</function> теперь принимает массив вместо
- строки для команды. В этом случае процесс будет открыт
+ строки для выполнения команды. В этом случае процесс будет открыт
напрямую (без командной оболочки), а PHP экранирует
любой необходимый аргумент.
<informalexample>
@@ -345,7 +345,7 @@
<programlisting role="php">
<![CDATA[
<?php
-proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);
+proc_open(['php', '-r', 'echo "Привет, мир\n";'], $descriptors, $pipes);
?>
]]>
</programlisting>
Modified: phpdoc/ru/trunk/appendices/migration74/other-changes.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration74/other-changes.xml 2019-09-22 14:59:22 UTC (rev 348046)
+++ phpdoc/ru/trunk/appendices/migration74/other-changes.xml 2019-09-22 17:18:20 UTC (rev 348047)
@@ -16,7 +16,7 @@
который улучшает производительность этой функции,
если значение параметра может быть статически разрешено. В коде, использующем пространства имен,
возможно потребуется использование абсолютного имени (<literal>\array_key_exists()</literal>)
- либо же явного импорта функции.
+ либо же явный импорт функции.
</para>
</sect3>
@@ -25,7 +25,7 @@
<para>
Когда функция <function>preg_match</function> в режиме UTF-8 (модификатор <literal>"u"</literal>)
неоднократно вызывается для одной и той же строки (возможно, на различных позициях),
- проверка на UTF-8 будет проведена только один раз.
+ проверка правильности UTF-8 будет выполнена только один раз.
</para>
</sect3>
</sect2>
@@ -100,7 +100,7 @@
Опция --with-gd переименована в --enable-gd
(должно ли включено расширение или нет), а
опция --with-external-gd исползует внешнюю библиотеку libgd,
- вместой той, которая идет в комплекте сборки.
+ вместой той, которая идет в комплекте.
</simpara>
</listitem>
<listitem>
@@ -249,7 +249,7 @@
<listitem>
<simpara>
Опция --with-pcre-regex удалена. Вместо этого --with-external-pcre
- позволяет использовать внешнюю PCRE-библиотеку, вместо
+ позволяет использовать внешнюю PCRE-библиотеку вместо
встроенной.
</simpara>
</listitem>
@@ -336,7 +336,7 @@
<function>fputcsv</function>,
<function>fgetcsv</function>,
<methodname>SplFileObject::fputcsv</methodname>,
- <methodname>SplFileObject::fgetcsv</methodname>, and
+ <methodname>SplFileObject::fgetcsv</methodname> и
<methodname>SplFileObject::setCsvControl</methodname>
теперь принимаем пустую строку в аргументе <literal>$escape</literal>.
Это отключит проприетарный механизм экранирования PHP.
@@ -388,9 +388,9 @@
</para>
<para>
<function>imagescale</function> теперь поддерживает масштабирование
- с сохранением соотношения сторон до фиксированной высоты,
- при передача <literal>-1</literal>
- в качестве <literal>$new_width</literal>.
+ с сохранением соотношения сторон до фиксированной высоты
+ при передаче <literal>-1</literal>
+ в параметр <literal>$new_width</literal>.
</para>
</sect2>
@@ -415,9 +415,9 @@
</sect2>
<sect2 xml:id="migration74.other-changes.ldap">
- <title>Lightweight Directory Access Protocol</title>
+ <title>Облегченный протокол доступа к каталогам (LDAP)</title>
<para>
- Поддержка nsldap and umich_ldap была удалена.
+ Поддержка nsldap и umich_ldap была удалена.
</para>
</sect2>
@@ -441,7 +441,7 @@
<title>OPcache</title>
<para>
Конфигурационные опции <literal>--disable-opcache-file</literal> и
- <literal>--enable-opcache-file</literal> удалены для использования INI-директивы
+ <literal>--enable-opcache-file</literal> удалены в пользу использования INI-директивы
<link linkend="ini.opcache.file-cache">opcache.file_cache</link>
</para>
</sect2>
@@ -449,8 +449,8 @@
<sect2 xml:id="migration74.other-changes.password">
<title>Хеширование паролей</title>
<para>
- Функции <function>password_hash</function> and <function></function> functions
- теперь принимают обнуляемую строку (&string;) и целое число (&integer;) в аргумент <literal>$algo</literal>.
+ Функции <function>password_hash</function> и <function></function> functions
+ теперь принимают обнуляемую строку (&string;) и целое число (&integer;) в аргументе <literal>$algo</literal>.
</para>
</sect2>
@@ -474,7 +474,7 @@
<literal>IS_IMPLICIT_ABSTRACT</literal>,
<literal>IS_PRIVATE</literal>,
<literal>IS_PROTECTED</literal>,
- <literal>IS_PUBLIC</literal>, и
+ <literal>IS_PUBLIC</literal> и
<literal>IS_STATIC</literal>) в классах
<classname>ReflectionClass</classname>,
<classname>ReflectionFunction</classname>,
@@ -505,7 +505,7 @@
Сериализация и десериализация <classname>SQLite3</classname>,
<classname>SQLite3Stmt</classname> и <classname>SQLite3Result</classname>
теперь явно запрещены. Раньше сериализация экземпляров этих экземпляров была возможна,
- но десериализация делала объекты неиспользуемыми.
+ но десериализация делала объекты неиспользуемыми для дальнейшей работы.
</para>
<para>
Нотацию <literal>@param</literal> теперь также можно использовать для обозначения параметров SQL-запроса.
@@ -516,7 +516,7 @@
<title>Zip</title>
<para>
Встроенная библиотека libzip удалена.
- Существующая в системе библиотека libzip >= 0.11 теперь обязательна, чтобы
+ Теперь обязательно наличие в системе библиотеки libzip >= 0.11, чтобы
собрать расширение <link linkend="book.zip">zip</link>.
</para>
</sect2>
Modified: phpdoc/ru/trunk/appendices/migration74/windows-support.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration74/windows-support.xml 2019-09-22 14:59:22 UTC (rev 348046)
+++ phpdoc/ru/trunk/appendices/migration74/windows-support.xml 2019-09-22 17:18:20 UTC (rev 348047)
@@ -7,9 +7,9 @@
<title>Поддержка Windows</title>
<sect2 xml:id="migration74.windows-support.configure">
- <title>Конфигурация флагов</title>
+ <title>Флаги <literal>configure</literal></title>
<para>
- configure теперь учитывает дополнительные переменные окружения CFLAGS и LDFLAGS.
+ <literal>configure</literal> теперь учитывает дополнительные переменные окружения CFLAGS и LDFLAGS.
</para>
</sect2>
@@ -20,7 +20,7 @@
с помощью <function>sapi_windows_set_ctrl_handler</function>.
</para>
<para>
- <function>proc_open</function> в Windows может быть передана
+ Функции <function>proc_open</function> на Windows может быть передана
опция "create_process_group". Это нужно, если дочерний процесс
должен обрабатывать события CTRL.
</para>