1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00

Update using.xml to En

This commit is contained in:
Mikhail Alferov
2026-02-20 09:34:31 +03:00
committed by GitHub
parent 40c84bce4c
commit ca5c8c514b

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: aab33d644359aba597e810e2fc0c0caa0d347c9c Maintainer: shein Status: ready -->
<!-- EN-Revision: 1709768e97fce7848c62aa2bf988419527bd1e8e Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="faq.using" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Использование PHP</title>
@@ -12,7 +12,6 @@
<qandaset>
<qandaentry xml:id="faq.using.parameterorder">
<!-- TODO: Mention named arguments -->
<question>
<para>
Я не могу запомнить порядок аргументов PHP-функций, они что, случайны?
@@ -29,6 +28,10 @@
порядок <link linkend="book.strings">в строковых функциях</link> обратный,
то есть аналогичен «<emphasis>стог, иголка</emphasis>».
</para>
<para>
C PHP 8.0 <link linkend="functions.named-arguments">именованные аргументы</link>
разрешили передачу аргументов по названию параметра и снизили значимость порядка параметров.
</para>
</answer>
</qandaentry>
@@ -42,10 +45,9 @@
</question>
<answer>
<para>
PHP предлагает множество <link linkend="language.variables.predefined">
предопределённых переменных</link> наподобие суперглобальной переменной
<varname>$_POST</varname>. Можно пройти по элементам переменной <varname>$_POST</varname> в цикле,
поскольку это ассоциативный массив значений, которые пришли с POST-запросом.
PHP предлагает множество <link linkend="language.variables.predefined">предопределённых переменных</link>
наподобие суперглобальной переменной <varname>$_POST</varname>. Переменная <varname>$_POST</varname> поддерживает обход элементов в цикле,
поскольку это ассоциативный массив значений, которые поступили в POST-запросе.
Например, просто пройдёмся по элементам массива конструкцией &foreach;,
проверим значения на пустоту (<function>empty</function>) и выведем.
<programlisting role="php">
@@ -73,8 +75,6 @@ if (empty($empty)) {
print "Пустых:\n"; var_dump($empty);
exit;
}
?>
]]>
</programlisting>
</para>
@@ -83,25 +83,26 @@ if (empty($empty)) {
</qandaentry>
<qandaentry xml:id="faq.using.addslashes">
<!-- TODO Probably should mention not doing this... -->
<question>
<para>
Необходимо преобразовать одинарные кавычки (') в одинарные кавычки,
перед которыми идёт обратный слеш (\'). Как это можно сделать через
регулярное выражение?
Хотелось бы также преобразовать «"» в «\"», а «\» в «\\».
Требуется заменить одинарные кавычки (') на кавычки с обратным слешем (\').
Как это сделать через регулярное выражение? И тот же вопрос касается замены " на \" и \ на \\.
</para>
</question>
<answer>
<para>
Предполагая, что это требуется для базы данных,
используйте механизм экранирования, который идёт
с базой данных. Например, вызывайте функцию
<function>mysql_real_escape_string</function> с MySQL
и функцию <function>pg_escape_string</function> с PostgreSQL.
В предыдущих версиях PHP чаще пользовались функциями <function>addslashes</function>
Задействуйте внутренний механизм экранирования базы данных,
если речь идёт о базе данных. Например, вызывайте функцию
<function>mysql_real_escape_string</function> в БД MySQL
и функцию <function>pg_escape_string</function> в базе данных PostgreSQL.
В предыдущих версиях PHP чаще вызывали функции <function>addslashes</function>
и <function>stripslashes</function>.
</para>
<para>
Экранирование значений вручную чревато ошибками и зависит от контекста.
Лучше предпочесть API баз данных, которые поддерживают подготовленные запросы
и привязку параметров, вместо построения запросов путём конкатенации экранированных строк.
</para>
</answer>
</qandaentry>
@@ -121,8 +122,6 @@ function myfunc($argument)
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
]]>
</programlisting>
Что происходит?
@@ -214,8 +213,6 @@ $headers = getallheaders();
foreach ($headers as $name => $content) {
echo "headers[$name] = $content<br />\n";
}
?>
]]>
</programlisting>
</para>
@@ -254,8 +251,8 @@ foreach ($headers as $name => $content) {
<qandaentry xml:id="faq.using.iis.sharing">
<question>
<para>
Windows: не удаётся с IIS-сервера получить доступ к файлам,
к которым предоставлен общий доступ на другом компьютере.
Windows: с IIS-сервера невозможно получить доступ к файлам,
к которым предоставили общий доступ на другом компьютере.
</para>
</question>
<answer>