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:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user