diff --git a/features/sessions.xml b/features/sessions.xml index 24a2c3c04..f3e99a02e 100644 --- a/features/sessions.xml +++ b/features/sessions.xml @@ -5,9 +5,9 @@ Сессии - Сессии 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.