Сессии
- Сессии PHP представляют собой различные способы сохранения данных для дальнейшего доступа к ним.
- Они позволяют создавать более гибкие приложения и улучшают привлекательность вашего сайта.
- Подробная информация находится в справочнике сессий.
+ Поддержка сессий в PHP состоит в сохранении набора данных для повторного обращения к ним.
+ Это помогает повысить индивидуальность разрабатываемого приложения и улучшает привлекательность сайта.
+ Подробнее об этом рассказано в разделе «Управление сессиями».
diff --git a/language-defs.ent b/language-defs.ent
index c041cfcc5..718f8551f 100644
--- a/language-defs.ent
+++ b/language-defs.ent
@@ -36,13 +36,13 @@
-
+
-
+
diff --git a/language/expressions.xml b/language/expressions.xml
index 20ad8aa94..52876efc8 100644
--- a/language/expressions.xml
+++ b/language/expressions.xml
@@ -4,32 +4,33 @@
Выражения
- Выражения — это самые важные строительные элементы PHP. Почти всё, что вы пишете
- в PHP, является выражением. Самое простое и точное определение
- выражения — «все что угодно, имеющее значение».
+ Выражения — это самые важные строительные элементы PHP. Почти всё, что разработчик пишет
+ в PHP, — выражение. Самое простое и точное определение
+ выражения — «всё, у чего есть значение».
- Основными формами выражений являются константы и переменные. Если
- вы записываете $a = 5, вы присваиваете 5 переменной
- $a. 5, очевидно, имеет значение 5 или, другими словами,
+ Основные формы выражений — это константы и переменные. Если
+ записать $a = 5, значение 5 будет присвоено переменной
+ $a. У значения 5, очевидно, — значение 5 или, говоря по-другому,
5 — это выражение со значением 5 (в данном случае 5 — это целочисленная
константа).
- После этого присвоения вы ожидаете, что значением $a
- также является 5, поэтому, если вы написали $b = $a,
- вы полагаете, что работать это будет так же, как
- если бы вы написали $b = 5. Другими словами,
- $a это также выражение со значением 5. Если всё работает
- верно, то именно так и произойдёт.
+ После этого присвоения ожидается, что значение переменной $a
+ тоже равно 5, поэтому, если написано $b = $a,
+ ожидается, что работать это будет так же, как
+ если бы было написано $b = 5. Говоря по-другому,
+ переменная $a — это также выражение со значением 5. Если всё работает
+ верно, то так и произойдёт.
- Немного более сложными примерами выражений являются функции. Например,
- рассмотрим следующую функцию:
+ Немного более сложные примеры выражений — это функции. Например,
+ рассмотрим следующую функцию:
- Исходя из того, что вы хорошо знакомы с концепцией функций (если нет,
- то прочитайте главу о функциях), вы
- полагаете, что запись $c = foo() абсолютно
- эквивалентна записи $c = 5, и вы правы. Функции -
- это выражения, значением которых является то, что возвращает функция.
- Поскольку foo() возвращает 5, значением выражения
- 'foo()' является 5.
- Как правило, функции возвращают не просто статическое значение, а
- что-то вычисляют.
+ Опираясь на то, что разработчик знаком принципом работы функций (если нет,
+ рекомендовано прочитать главу о функциях),
+ он может предположить, что напечатать $c = foo() —
+ по смыслу то же, что написать $c = 5, и будет прав. Функции —
+ это выражения, значение которых — то, что возвращает функция.
+ Поскольку функция foo() возвращает 5, значением выражения
+ «foo()» будет 5.
+ Обычно функции не просто возвращают статическое значение,
+ а что-то вычисляют.
- Разумеется, значения в PHP не обязаны быть целочисленными, и очень
- часто ими не являются. PHP поддерживает четыре типа скалярных значений:
- целочисленные (int), с плавающей точкой (float),
+ Конечно, значения в PHP не обязаны быть целочисленными, и очень
+ часто это не так. Язык PHP поддерживает четыре типа скалярных значений:
+ целочисленные значения (int), значения с плавающей точкой (float),
строковые (string) и логические (bool)
- значения (скалярными являются значения, которые вы не можете 'разбить' на
+ значения (скалярные значения это те, которые нельзя «разбить» на
меньшие части, в отличие, например, от массивов). PHP поддерживает также два
- комбинированных (не скалярных) типа: массивы и объекты. Любое значение такого
- типа может присваиваться переменной или возвращаться функцией.
+ сложных (составных, композитных — нескалярных) типа: массивы и объекты. Каждое из этих
+ типов значений разрешено присваивать переменной или возвращать функцией.
- Однако PHP, как и многие другие языки, понимает гораздо больше выражений.
- PHP — это язык, ориентированный на выражения и рассматривающий почти все как
- выражение. Вернёмся к примеру, с которым мы уже имели дело:
- $a = 5. Легко заметить, что здесь присутствуют два значения —
+ Однако PHP использует выражения значительно шире, точно так же, как это делают другие языки.
+ PHP — это язык с ориентацией на выражения, который почти всё в коде рассматривает как
+ выражение. Вернёмся к тому примеру, с которым мы уже имели дело:
+ $a = 5. Легко заметить, что здесь есть два значения —
значение целочисленной константы 5 и значение переменной $a,
- также принимающей значение 5. Но на самом деле здесь присутствует и ещё одно
+ также принимающей значение 5. Но, хотя это неочевидно, здесь есть ещё одно
значение — значение самого присвоения. Само присвоение вычисляется в
- присвоенное значение, в данном случае — в 5. На практике это означает, что
- $a = 5, независимо от того, что оно делает, является
- выражением со значением 5. Таким образом, запись $b = ($a = 5)
- равносильна записи $a = 5; $b = 5; (точка с запятой обозначает конец выражения).
- Поскольку операции присвоения анализируются справа налево, вы также
- можете написать $b = $a = 5.
+ присвоенное значение, в данном случае — в 5. То есть
+ выражение $a = 5, независимо от того, что оно делает, —
+ это выражение со значением 5. Поэтому запись $b = ($a = 5)
+ равносильна записи $a = 5; $b = 5; (точка с запятой означает конец выражения).
+ Поскольку операции присвоения анализируются справа налево, также
+ разрешено написать $b = $a = 5.
Другой хороший пример ориентированности на выражения — префиксный и
- постфиксный инкремент и декремент. Пользователи PHP и многих
- других языков возможно уже знакомы с формой записи variable++
+ постфиксный инкремент и декремент. Пользователи PHP
+ и других языков возможно уже знакомы с формой записи variable++
и variable--. Это
- операторы инкремента и декремента. Также как и C, PHP
+ операторы инкремента и декремента. Как и язык Си, язык PHP
поддерживает два типа инкремента — префиксный и постфиксный. Они
оба инкрементируют значение переменной и эффект их действия на неё
одинаков. Разница состоит в значении выражения инкремента.
Префиксный инкремент, записываемый как ++$variable,
вычисляется в инкрементированное значение (PHP инкрементирует переменную до того
- как прочесть её значение, отсюда название 'пре-инкремент').
+ как прочесть её значение, отсюда название «преинкремент»).
Постфиксный инкремент, записываемый как $variable++,
вычисляется в первоначальное значение переменной $variable до её приращения
- (PHP инкрементирует переменную после прочтения её значения, отсюда
- название 'пост-инкремент').
+ (PHP вначале читает значение переменной и только потом инкрементирует её, отсюда
+ название «постинкремент»).
- Очень распространённым типом выражений являются выражения сравнения.
- Результатом вычислений являются &false; (ложь)
- или &true; (истина). PHP поддерживает операции сравнения > (больше), >= (больше
+ Эти выражения оцениваются либо как &false; (ложь),
+ либо как &true; (истина). PHP поддерживает операции сравнения > (больше), >= (больше
либо равно), == (равно), != (не равно), < (меньше) и <=
(меньше либо равно). Он также поддерживает операторы строгого
равенства: === (равно и одного типа) и !== (не равно или не одного
- типа). Чаще всего эти выражения используются в операторах условного выполнения,
- таких как if.
+ типа). Обычно этими выражениями пользуются в операторах условного выполнения,
+ например, if.
- Последний пример выражений, который мы здесь рассмотрим, это
- смешанные выражения операции и присвоения. Вы уже знаете, что если
- вы хотите увеличить $a на 1, вы можете просто написать
- $a++ или ++$a. Но что, если вы
- хотите прибавить больше, чем единицу, например, 3? Вы могли бы написать
- $a++ много раз, однако, очевидно это не очень
- рациональный и удобный способ. Гораздо более распространённой практикой
- является запись вида $a = $a + 3.
- $a + 3 вычисляется в значение $a плюс
- 3 и снова присваивается $a, увеличивая в результате
- $a на 3. В PHP, как и в некоторых других языках, таких как C,
- вы можете записать это более коротким образом, что увеличит очевидность смысла
- и быстроту понимания кода по прошествии времени. Прибавить 3 к текущему значению
- $a можно с помощью записи $a += 3.
- Это означает дословно "взять значение $a, прибавить к
- нему 3 и снова присвоить его переменной $a". Кроме
+ Последний пример выражений, который будет здесь рассмотрен, это
+ смешанные выражения операции и присвоения. Мы уже знаем, что если
+ нужно увеличить значение переменной $a на 1, можно просто написать
+ $a++ или ++$a. Но что, если нужно
+ прибавить больше единицы, например, 3? Можно было бы написать
+ $a++ много раз, однако, очевидно, это не очень
+ рационально и удобно. Более распространённая практика —
+ запись вида $a = $a + 3.
+ Выражение $a + 3 вычисляется в значение переменной $a, к которому
+ прибавлено 3 и снова присвоено значение переменной $a, увеличивая в результате
+ значение переменной $a на 3. В PHP, как и в ряде других языков, например Си,
+ разрешено записать это более коротким образом, что увеличит очевидность смысла
+ и скорость понимания кода по прошествии времени. Прибавить 3 к текущему значению
+ переменной $a можно, записав $a += 3.
+ Это означает дословно «взять значение $a, прибавить к
+ нему 3 и снова присвоить его переменной $a». Кроме
большей понятности и краткости, это быстрее работает. Значением
- $a += 3, как и обычного присвоения, является присвоенное
+ выражения $a += 3, как и обычного присвоения, будет присвоенное
значение. Обратите внимание, что это НЕ 3, а суммированное значение
- $a плюс 3 (то, что было присвоено $a).
- Таким образом может использоваться любой бинарный оператор, например,
- $a -= 5 (вычесть 5 из значения $a),
- $b *= 7 (умножить значение $b на 7)
- и т.д.
+ переменной $a плюс 3 (то, что было присвоено перменной $a).
+ Поэтому разрешено использовать любой бинарный оператор, например,
+ $a -= 5 (вычесть 5 из значения переменной $a),
+ $b *= 7 (умножить значение переменной $b на 7)
+ и т. д.
Существует ещё одно выражение, которое может выглядеть необычно,
@@ -139,6 +140,7 @@ function foo ()
]]>
@@ -146,13 +148,13 @@ $first ? $second : $third
- Если значением первого подвыражения является &true; (не ноль),
+ Если значение первого подвыражения — &true; (ненулевое значение),
то выполняется второе подвыражение, которое и будет результатом
- условного выражения. В противном случае будет выполнено третье
+ условного выражения. Или выполняется третье
подвыражение и его значение будет результатом.
- Следующий пример должен помочь вам немного улучшить понимание
+ Задача следующего примера — помочь немного улучшить понимание
префиксного и постфиксного инкремента и выражений:
@@ -160,22 +162,24 @@ $first ? $second : $third
- Некоторые выражения могут рассматриваться как инструкции. В
- данном случае инструкция имеет вид 'expr ;' — выражение с
- последующей точкой с запятой. В записи $b = $a = 5;,
- $a = 5 — это верное выражение, но само по себе не инструкция.
- Тогда как $b = $a = 5; является верной инструкцией.
+ Иногда выражения рассматриваются как инструкции.
+ В данном случае у инструкции следующий вид — «expr ;» — выражение со
+ следующей за ним точкой с запятой. В записи $b = $a = 5;,
+ $a = 5 — это верное выражение, но оно само — не инструкция.
+ Тогда как выражение $b = $a = 5; — верная инструкция.
- Последнее, что стоит упомянуть, это истинность значения выражений.
- Во многих случаях, как правило, в условных операторах и циклах,
- вас может интересовать не конкретное значение выражения, а только
+ Последнее, что нужно вспомнить, — это истинность значения выражений.
+ Обычно в условных операторах и циклах
+ может интересовать не конкретное значение выражения, а только
его истинность (значение &true; или &false;).
Константы &true; и &false; (регистронезависимые) — это два
- возможных логических значения. Выражения можно
+ возможных логических значения. Выражения разрешено
автоматически преобразовать в логическое значение. Подробнее о том, как это
сделать, рассказано в разделе о
приведении типов.
- PHP предоставляет полную и мощную реализацию выражений, и их
+ Язык PHP со всей полнотой и мощностью реализует выражения, и их
полное документирование выходит за рамки этого руководства.
Примеры выше дают представление о выражениях, о том, что
они из себя представляют, и как можно создавать полезные
diff --git a/reference/dom/domdocument.xml b/reference/dom/domdocument.xml
index 058cc715c..0d2ef07cd 100644
--- a/reference/dom/domdocument.xml
+++ b/reference/dom/domdocument.xml
@@ -202,7 +202,7 @@
config
- Устарело. Конфигурация, которую использует при вызове
+ Устарело. Конфигурация, которая будет использована при вызове
метода DOMDocument::normalizeDocument.
diff --git a/reference/dom/domdocument/normalizedocument.xml b/reference/dom/domdocument/normalizedocument.xml
index 0f6266062..059affe0f 100644
--- a/reference/dom/domdocument/normalizedocument.xml
+++ b/reference/dom/domdocument/normalizedocument.xml
@@ -14,8 +14,8 @@
- Этот метод выполняет те же действия, как если бы вы сохранили и затем
- загрузили документ, приводит документ к "нормальной" форме.
+ Этот метод работает так, как если бы документ сохранили, а затем
+ загрузили, — приводит документ к «нормальной» форме.
diff --git a/reference/outcontrol/examples.xml b/reference/outcontrol/examples.xml
index ae94a303e..1d5e22921 100644
--- a/reference/outcontrol/examples.xml
+++ b/reference/outcontrol/examples.xml
@@ -30,7 +30,7 @@ ob_end_flush();
функции ob_end_flush. Тем временем
вызов функции setcookie успешно сохранится в
cookie браузера, не вызывая ошибки (заголовки не получится отправить
- в браузер когда данные уже отправлены).
+ в браузер, когда данные уже отправлены).
diff --git a/reference/session/book.xml b/reference/session/book.xml
index 5094976b4..9dd9c378d 100644
--- a/reference/session/book.xml
+++ b/reference/session/book.xml
@@ -10,8 +10,8 @@
&reftitle.intro;
- Поддержка сессий в PHP заключается в способе сохранения некоторых данных
- между несколькими последовательными доступами.
+ Поддержка сессий в PHP состоит в сохранении набора данных
+ между последовательными доступами.
Каждому посетителю сайта присваивается уникальный идентификатор,
@@ -19,54 +19,54 @@
Он хранится либо в cookie на стороне пользователя, либо передаётся через URL.
- Поддержка сессий позволяет сохранять данные между запросами
- в суперглобальном массиве $_SESSION. В тот момент, когда посетитель
- получает доступ к сайту, PHP проверяет автоматически (если session.auto_start установлено в 1)
- или по запросу (явным образом через вызов session_start),
- был ли определённый идентификатор сессии послан вместе с запросом. Если это так,
+ Поддержка сессий помогает сохранять данные между запросами
+ в суперглобальном массиве $_SESSION. Когда посетитель заходит
+ на сайт, PHP автоматически (если для директивы session.auto_start установлено значение 1)
+ или по запросу (явным образом через вызов функции session_start) проверяет,
+ был ли конкретный идентификатор сессии отправлен вместе с запросом. Если это так,
восстанавливается сохранённое ранее окружение.
- При включённом
- session.auto_start единственным способом помещения объектов в
- сессию останется загрузка описаний класса с помощью
- auto_prepend_file.
- В противном случае придётся выполнить сериализацию
- (serialize) и десериализацию
- (unserialize) объекта вручную.
+ Если директива
+ session.auto_start включена, то единственный способ поместить объекты
+ в сессию — это загрузить определение класса этого объекта черер директиву
+ auto_prepend_file, иначе
+ придётся выполнить сериализацию
+ (функцией serialize) и десериализацию
+ (функцией unserialize) объекта вручную.
- $_SESSION (и все зарегистрированные переменные)
- сериализуются внутри PHP после выполнения запроса, используя обработчик сериализации, указанный
+ Суперглобальная переменная $_SESSION (и все зарегистрированные переменные)
+ сериализуются внутри PHP после выполнения запроса, используя обработчик сериализации, заданный
в INI-опции session.serialize_handler.
Зарегистрированные, но неопределённые переменные помечаются как
- неопределённые. При последующем доступе они не определяются сессионным
+ неопределённые. При повторном доступе они не будут определены сессионным
модулем, если пользователь заново не определит их.
- Так как сессионные данные сериализуются, то переменные с типом
+ Поскольку сессионные данные сериализуются, переменные с типом
resource не могут храниться в сессиях.
Обработчики сериализации (php
- и php_binary) наследуют ограничения для register_globals.
- Поэтому нельзя использовать числовые или строковые индексы содержащие
+ и php_binary) наследуют ограничения директивы register_globals.
+ Поэтому нельзя использовать числовые или строковые индексы, содержащие
специальные символы (| и !).
- Их использование приведёт к ошибкам по завершении скрипта.
- У php_serialize такие ограничения отсутствуют.
+ Они приведут к ошибкам при завершении работы скрипта.
+ У обработчика php_serialize такие ограничения отсутствуют.
- При работе с сессиями обратите внимание, что запись в сессии не создаётся
+ Заметьте, при работе с сессиями запись в сессии не создаётся
до тех пор, пока переменная не будет зарегистрирована
в суперглобальном массиве $_SESSION. Это правило
- действует вне зависимости от того, была ли сессия запущена
- с использованием функции session_start.
+ будет применяться независимо от того, запускалась ли сессия
+ функцией session_start.