mirror of
https://github.com/php/doc-uk.git
synced 2026-03-23 22:52:14 +01:00
Synced more files with EN
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: ktretyak Status: wip -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: mproshchuk Status: ready -->
|
||||
<chapter xml:id="features.sessions" xmlns="http://docbook.org/ns/docbook">
|
||||
<title>Sessions</title>
|
||||
<title>Сесії</title>
|
||||
|
||||
<para>
|
||||
Session support in PHP consists of a way to preserve certain data across
|
||||
subsequent accesses. This enables you to build more customized applications
|
||||
and increase the appeal of your web site. All information is in the
|
||||
<link linkend="book.session">Session reference</link> section.
|
||||
Підтримка сесій у PHP полягає у способі збереження певних даних для
|
||||
наступного сеансу. Це дає змогу створювати більш гнучкі програми та
|
||||
підвищувати привабливість вебсайту. Уся інформація є у розділі
|
||||
<link linkend="book.session">Керівництво з сесій</link>.
|
||||
</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 8c1eafbac90415e04846aae47cf544b4df6a3388 Maintainer: mproshchuk Status: ready -->
|
||||
<!-- EN-Revision: 3d4f72a46a0d144ec412438aca3d3b337df43d5c Maintainer: mproshchuk Status: ready -->
|
||||
<chapter xml:id="install.windows" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Встановлення в системах Windows</title>
|
||||
<para>
|
||||
@@ -46,9 +46,9 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Microsoft Visual C++ Redistributable для Visual Studio 2019 підходить для
|
||||
Microsoft Visual C++ Redistributable для Visual Studio 2022 підходить для
|
||||
всіх версій PHP. Докладніше за посиланням
|
||||
<link xlink:href="https://visualstudio.microsoft.com/downloads/">https://visualstudio.microsoft.com/downloads/</link>.
|
||||
<link xlink:href="&url.microsoft.visualc.redistr;">https://visualstudio.microsoft.com/downloads/</link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -87,6 +87,7 @@
|
||||
&install.windows.apache2;
|
||||
&install.windows.troubleshooting;
|
||||
</chapter>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<!ENTITY Features "Можливості">
|
||||
<!ENTITY Security "Безпека">
|
||||
<!ENTITY FunctionReference "Довідник функцій">
|
||||
<!ENTITY VariableandTypeRelatedExtensions "Розширення, що відносяться до змінних та типів">
|
||||
<!ENTITY VariableandTypeRelatedExtensions "Розширення для обробки змінних та типів">
|
||||
<!ENTITY TextProcessing "Обробка тексту">
|
||||
<!ENTITY AffectingPHPsBehaviour "Вплив на поведінку PHP">
|
||||
<!ENTITY SessionExtensions "Розширення для роботи зі сесіями">
|
||||
@@ -20,27 +20,27 @@
|
||||
<!ENTITY DatabaseExtensions "Розширення для роботи з базами даних">
|
||||
<!ENTITY AbstractionLayers "Абстрактні прошарки">
|
||||
<!ENTITY VendorSpecificDatabaseExtensions "Постачальники окремих розширень баз даних">
|
||||
<!ENTITY XMLManipulation "Маніпуляції з XML">
|
||||
<!ENTITY XMLManipulation "Обробка XML">
|
||||
<!ENTITY WebServices "Вебсервіси">
|
||||
<!ENTITY CreditCardProcessing "Обробка кредитних карток">
|
||||
<!ENTITY MathematicalExtensions "Математичні розширення">
|
||||
<!ENTITY CryptographyExtensions "Криптографічні розширення">
|
||||
<!ENTITY HumanLanguageandCharacterEncodingSupport "Підтримка людської мови та кодування символів">
|
||||
<!ENTITY FileSystemRelatedExtensions "Розширення, що відносяться до файлової системи">
|
||||
<!ENTITY FileSystemRelatedExtensions "Розширення для роботи з файловою системою">
|
||||
<!ENTITY ProcessControlExtensions "Розширення, що контролює обробку">
|
||||
<!ENTITY MailRelatedExtensions "Розширення, що стосується пошти">
|
||||
<!ENTITY MailRelatedExtensions "Розширення для роботи з поштою">
|
||||
<!ENTITY AuthenticationServices "Сервіс автентифікації">
|
||||
<!ENTITY OtherServices "Інші сервіси">
|
||||
<!ENTITY CompressionExtensions "Розширення для архівації та стиснення">
|
||||
<!ENTITY CalendarandEventRelatedExtensions "Розширення, що стосуються дати й часу">
|
||||
<!ENTITY NonTextMIMEOutput "Вивід нетекстових MIME">
|
||||
<!ENTITY ImageProcessingandGeneration "Обробка та генерація зображень">
|
||||
<!ENTITY AudioFormatsManipulation "Маніпуляції з аудіо форматами">
|
||||
<!ENTITY CommandLineSpecificExtensions "Розширення призначені для командного рядка">
|
||||
<!ENTITY AudioFormatsManipulation "Обробка аудіо">
|
||||
<!ENTITY CommandLineSpecificExtensions "Розширення для командного рядка">
|
||||
<!ENTITY WindowsOnlyExtensions "Розширення суто для Windows">
|
||||
<!ENTITY ServerSpecificExtensions "Спеціальні розширення сервера">
|
||||
<!ENTITY SearchEngineExtensions "Розширення Рушіїв Пошуку">
|
||||
<!ENTITY MiscExtensions "Різні Розширення">
|
||||
<!ENTITY SearchEngineExtensions "Розширення рушіїв пошуку">
|
||||
<!ENTITY MiscExtensions "Різні розширення">
|
||||
<!ENTITY UIExtensions "Розширення для роботи з GUI">
|
||||
<!ENTITY Appendices "Доповнення">
|
||||
<!ENTITY PEAR "PEAR: Репозиторій PHP розширень та застосунків">
|
||||
@@ -55,10 +55,10 @@
|
||||
<!ENTITY ExampleListing "Список прикладів">
|
||||
<!ENTITY ExampleListingDescription "Список всіх прикладів в керівництві">
|
||||
<!ENTITY ChangelogListingTitle "Журнал змін">
|
||||
<!ENTITY ChangelogListingDescription "Були здійснені наступні зміни з класами/функціями/методами цього розширення.">
|
||||
<!ENTITY ChangelogListingBundledDescription "Були здійснені наступні зміни з функціями, що входять в комплект розширення.">
|
||||
<!ENTITY CHMEdition "HTML варіант довідки">
|
||||
<!ENTITY ReservedConstants "Предвизначені константи">
|
||||
<!ENTITY ChangelogListingDescription "Здійснено наступні зміни з класами/функціями/методами цього розширення.">
|
||||
<!ENTITY ChangelogListingBundledDescription "Здійснено наступні зміни з функціями, що входять в комплект розширення.">
|
||||
<!ENTITY CHMEdition "HTML-варіант довідки">
|
||||
<!ENTITY ReservedConstants "Попередньо визначені константи">
|
||||
<!ENTITY MissingStuff "Відсутні речі">
|
||||
<!ENTITY AndSeveralOthers "Та інші">
|
||||
<!ENTITY Version "Версія">
|
||||
@@ -83,20 +83,20 @@
|
||||
<!-- These are used in reference/$extname/reference.xml and other
|
||||
supplemental files to mark section titles -->
|
||||
<!ENTITY reftitle.changelog '<title xmlns="http://docbook.org/ns/docbook">Журнал змін</title>'>
|
||||
<!ENTITY reftitle.classes '<title xmlns="http://docbook.org/ns/docbook">Предвизначені класи</title>'>
|
||||
<!ENTITY reftitle.classes '<title xmlns="http://docbook.org/ns/docbook">Попередньо визначені класи</title>'>
|
||||
<!ENTITY reftitle.classsynopsis '<title xmlns="http://docbook.org/ns/docbook">Короткий огляд класу</title>'>
|
||||
<!ENTITY reftitle.constants '<title xmlns="http://docbook.org/ns/docbook">Предвизначені константи</title>'>
|
||||
<!ENTITY reftitle.constants '<title xmlns="http://docbook.org/ns/docbook">Попередньо визначені константи</title>'>
|
||||
<!ENTITY reftitle.constructor '<title xmlns="http://docbook.org/ns/docbook">Конструктор</title>'>
|
||||
<!ENTITY reftitle.description '<title xmlns="http://docbook.org/ns/docbook">Опис</title>'>
|
||||
<!ENTITY reftitle.encoding '<title xmlns="http://docbook.org/ns/docbook">Кодування</title>'>
|
||||
<!ENTITY reftitle.examples '<title xmlns="http://docbook.org/ns/docbook">Приклади</title>'>
|
||||
<!ENTITY reftitle.exceptions '<title xmlns="http://docbook.org/ns/docbook">Винятки</title>'>
|
||||
<!ENTITY reftitle.errors '<title xmlns="http://docbook.org/ns/docbook">Помилки/винятки</title>'>
|
||||
<!ENTITY reftitle.errors '<title xmlns="http://docbook.org/ns/docbook">Помилки/виключення</title>'>
|
||||
<!ENTITY reftitle.faq '<title xmlns="http://docbook.org/ns/docbook">&FAQ;</title>'>
|
||||
<!ENTITY reftitle.install '<title xmlns="http://docbook.org/ns/docbook">Встановлення</title>'>
|
||||
<!ENTITY reftitle.intro '<title xmlns="http://docbook.org/ns/docbook">Вступ</title>'>
|
||||
<!ENTITY reftitle.indices '<title xmlns="http://docbook.org/ns/docbook">Індекси</title>'>
|
||||
<!ENTITY reftitle.interfacesynopsis '<title xmlns="http://docbook.org/ns/docbook">Короткий огляд Інтерфейса</title>'>
|
||||
<!ENTITY reftitle.interfacesynopsis '<title xmlns="http://docbook.org/ns/docbook">Короткий огляд iнтерфейcу</title>'>
|
||||
<!ENTITY reftitle.methods '<title xmlns="http://docbook.org/ns/docbook">Методи</title>'>
|
||||
<!ENTITY reftitle.mysqlnd '<title xmlns="http://docbook.org/ns/docbook">Лише рідний драйвер MySQL</title>'>
|
||||
<!ENTITY reftitle.notes '<title xmlns="http://docbook.org/ns/docbook">Примітки</title>'>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 9c02dc54d852d871cbcfcda05df9855333e8bc78 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6b09bb638aa64d1fad5f4a630a8da9a2692ce733 Maintainer: mproshchuk Status: wip -->
|
||||
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
|
||||
<title>Базовий синтаксис</title>
|
||||
<sect1 xml:id="language.basic-syntax.phptags">
|
||||
@@ -13,21 +12,52 @@
|
||||
документи, оскільки код, за межами пари з відкриваючим та закриваючим
|
||||
тегами, ігнорується обробником PHP.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
PHP також дозволяє короткий відкриваючий тег <literal><?</literal> (в
|
||||
цьому випадку закриваючий тег не змінюється,
|
||||
але використовуйте його обережно,
|
||||
оскільки він доступний, тільки якщо його підключено через директиву
|
||||
<link linkend="ini.short-open-tag">short_open_tag</link> у конфігураційному
|
||||
файлі &php.ini;, або якщо PHP було сконфігуровано з параметром
|
||||
<option>--enable-short-tags</option>).
|
||||
PHP має короткий echo-тег <literal><?=</literal>, який є скороченим
|
||||
варіантом <code><?php echo</code>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<example>
|
||||
<title>PHP Opening and Closing Tags</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
1. <?php echo 'if you want to serve PHP code in XHTML or XML documents,
|
||||
use these tags'; ?>
|
||||
|
||||
2. You can use the short echo tag to <?= 'print this string' ?>.
|
||||
It's equivalent to <?php echo 'print this string' ?>.
|
||||
|
||||
3. <? echo 'this code is within short tags, but will only work '.
|
||||
'if short_open_tag is enabled'; ?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Short tags (example three) are available by default but can be disabled
|
||||
either via the <link linkend="ini.short-open-tag">short_open_tag</link>
|
||||
&php.ini; configuration file directive, or are disabled by default if
|
||||
PHP is built with the <option>--disable-short-tags</option> configuration.
|
||||
</para>
|
||||
<para>
|
||||
Якщо файл має лише PHP-код, краще не вказувати закриваючий тег PHP в кінці
|
||||
файла. Це запобігає випадковості додавання пробіла або нового рядка після
|
||||
закриваючого тега PHP, що може спричиняти небажаний ефект, оскільки PHP
|
||||
починає буферизацію виводу, коли програміст не має наміру будь-що
|
||||
виводити в своєму скрипті.
|
||||
<note>
|
||||
<para>
|
||||
As short tags can be disabled it is recommended to only use the normal
|
||||
tags (<code><?php ?></code> and <code><?= ?></code>) to
|
||||
maximise compatibility.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a file contains only PHP code, it is preferable to omit the PHP closing tag
|
||||
at the end of the file. This prevents accidental whitespace or new lines
|
||||
being added after the PHP closing tag, which may cause unwanted effects
|
||||
because PHP will start output buffering when there is no intention from
|
||||
the programmer to send any output at that point in the script.
|
||||
<informalexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
@@ -40,6 +70,7 @@ echo "Останній вивід";
|
||||
|
||||
// тут скрипт завершується без додавання закриваючого тега PHP
|
||||
]]>
|
||||
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
@@ -51,7 +82,7 @@ echo "Останній вивід";
|
||||
обробником PHP. Таким чином можна обробляти PHP-файли зі змішаним вмістом, тобто
|
||||
вбудовувати PHP-код в HTML-документи, наприклад, при створенні
|
||||
шаблонів.
|
||||
<example>
|
||||
<informexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<p>Ця частина коду буде проігнорована PHP, але показуватиметься через браузер.</p>
|
||||
@@ -59,7 +90,7 @@ echo "Останній вивід";
|
||||
<p>І цей код - також буде проігноровано PHP, але показуватиметься через браузер.</p>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</informexample>
|
||||
Такий код обробляється як і очікується, оскільки коли інтерпретатор PHP
|
||||
зустрічає закриваючий тег ?> він просто починає виводити все, що
|
||||
знаходить, допоки не зустріне інший відкриваючий тег. Але є два виключення,
|
||||
@@ -95,89 +126,15 @@ echo "Останній вивід";
|
||||
<function>echo</function> чи <function>print</function>.
|
||||
</para>
|
||||
<para>
|
||||
Існує чотири різних пари з відкриваючими та закриваючими тегами, які можна
|
||||
використовувати в PHP. Дві із них, <?php ?> та
|
||||
<script language="php"> </script>, завжди доступні.
|
||||
Дві інші пари - це короткі теги та теги в стилі
|
||||
<productname>ASP</productname>, які можна включати та відключати у
|
||||
конфігураційному файлі &php.ini;. Отже, хоча деякі люди вважають зручними
|
||||
короткі теги та теги в стилі <productname>ASP</productname>, вони є менш
|
||||
портативними, та взагалі то не рекомендуються.
|
||||
<note>
|
||||
<para>
|
||||
Якщо ви вставляєте блоки PHP вередині XML чи XHTML, вам потрібно
|
||||
використовувати теги <?php ?> щоб код залишався сумісним згідно зі
|
||||
стандартом.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Різні варіанти відкриваючих та закриваючих тегів PHP</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
1. <?php echo 'якщо ви хочете обробляти PHP-код всередині XHTML або XML
|
||||
документів, використовуйте такі теги'; ?>
|
||||
|
||||
2. <script language="php">
|
||||
echo 'деякі редактори (наприклад FrontPage) не обробляють інструкції
|
||||
всередині таких тегів';
|
||||
</script>
|
||||
|
||||
3. <? echo 'цей код знаходиться всередині коротких тегів PHP'; ?>
|
||||
А код в таких тегах <?= 'тут якийсь текст' ?>
|
||||
є скороченням для коду <? echo 'тут якийсь текст' ?>
|
||||
|
||||
4. <% echo 'Також, якщо хочете, можете використовувати теги в ASP-стилі'; %>
|
||||
А код в таких тегах <%= $змінна; %>
|
||||
є скороченням для коду <% echo $змінна; %>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
Хоча теги, показані в пунктах 1 та 2, завжди є доступними, теги, показані
|
||||
в пункті 1, є найбільш вживаними, та є рекомендованим, на відміну від тегів
|
||||
в пункті 2.
|
||||
</para>
|
||||
<para>
|
||||
Короткі теги (пункт 3) є доступними, тільки якщо вони підключені через
|
||||
директиву <link linkend="ini.short-open-tag">short_open_tag</link>
|
||||
в конфігураційному файлі &php.ini;, або якщо PHP було сконфігуровано з
|
||||
параметром <option>--enable-short-tags</option>.
|
||||
</para>
|
||||
<para>
|
||||
Теги в стилі <productname>ASP</productname> (пункт 4) доступні, тільки коли
|
||||
вони підключені через директиву <link linkend="ini.asp-tags">asp_tags</link>
|
||||
в конфігураційному файлі &php.ini;.
|
||||
</para>
|
||||
<para>
|
||||
<note>
|
||||
<para>
|
||||
Використання коротких тегів краще уникати при розробці застосунків
|
||||
чи бібліотек, що призначаються для поширення, або при розміщенні скриптів
|
||||
на PHP-серверах, які знаходяться не під вашим контролем, оскільки короткі
|
||||
теги можуть не підтримуватись. Для портативності, переконайтесь, що ви
|
||||
не використовуєте короткі теги.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
У версіях PHP 5.2 та рініших, парсер не дозволяв використовувати
|
||||
тільки відкриваючі теги <literal><?php</literal> без використання
|
||||
закриваючих тегів. Це стало можливим починаючи з PHP 5.3, при наявності
|
||||
одного чи кількох пробілів після відкриваючого тега.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
Починаючи з PHP 5.4, короткий тег <literal><?=</literal> завжди
|
||||
розпізнається та є дійсним, незалежно від того, чи включена директива
|
||||
<link linkend="ini.short-open-tag">short_open_tag</link>.
|
||||
Вставляючи блоки PHP всередину XML чи XHTML, потрібно використовувати
|
||||
теги <?php ?>, щоб код відповідав стандартам.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="language.basic-syntax.instruction-separation">
|
||||
<title>Поділ інструкцій</title>
|
||||
<para>
|
||||
@@ -187,6 +144,29 @@ echo "Останній вивід";
|
||||
потрібно завершувати останній рядок PHP-блоку символом крапки з комою.
|
||||
Закриваючий тег також зумовить видалення символа нового рядка, що йде
|
||||
безпосередньо зразу після нього, якщо він є.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Example showing the closing tag encompassing the trailing newline</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php echo "Some text"; ?>
|
||||
No newline
|
||||
<?= "But newline now" ?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
Some textNo newline
|
||||
But newline now
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Examples of entering and exiting the PHP parser:
|
||||
<informalexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
@@ -242,10 +222,6 @@ echo "Останній вивід";
|
||||
чи <literal># ... ?></literal> БУДЕ надруковано, оскільки закриваючий
|
||||
тег ?> перериває PHP-режим та включає HTML-режим, і
|
||||
<literal>//</literal> чи <literal>#</literal> не впливають на це.
|
||||
Якщо конфігураційна директива <link linkend="ini.asp-tags">asp_tags</link>
|
||||
включена, такий же ефект буде з тегами <literal>// %></literal> та
|
||||
<literal># %></literal>. Лише тег <literal></script></literal>
|
||||
не перериває PHP-режиму в однорядкових коментарях.
|
||||
</simpara>
|
||||
<para>
|
||||
<informalexample>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 84b8fca68fc762fefe85acde180a38b2e77a28b9 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<sect1 xml:id="function.require" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>require</title>
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: a9f96e8c83e989c5edca55ccb36ed9b7579d8a44 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: f5e5b54129045a7d02c5285a88cea0abff8ffb6f Maintainer: mproshchuk Status: ready -->
|
||||
<sect1 xml:id="language.oop5.visibility" xmlns="http://docbook.org/ns/docbook">
|
||||
<title>Область видимості</title>
|
||||
<para>
|
||||
Області видимості властивостей або методів можуть визначатись через
|
||||
ключові слова <emphasis>public</emphasis>,
|
||||
<emphasis>protected</emphasis> чи
|
||||
<emphasis>private</emphasis>. Доступ до членів класа оголошених
|
||||
як public (загальнодоступні), дозволено всюди. Члени класа оголошені
|
||||
як protected (захищені) доступні лише всередині самого класа, а також
|
||||
через наслідувані та батьківські класи. Члени класа оголошені як private (закриті)
|
||||
можуть бути доступні лише через клас, де вони визначені.
|
||||
Області видимості властивостей, методів або (починаючи з PHP 7.1.0) констант
|
||||
можуть визначатись через ключові слова <literal>public</literal>,
|
||||
<literal>protected</literal> чи <literal>private</literal>. Доступ до членів
|
||||
класу, оголошених як public (загальнодоступні), дозволено всюди. Члени класу,
|
||||
оголошені як protected (захищені), доступні лише всередині самого класу, а
|
||||
також через класи-нащадки та батьківські класи. Члени класу, оголошені як
|
||||
private (закриті) можуть бути доступні лише через клас, де вони визначені.
|
||||
</para>
|
||||
|
||||
<sect2 xml:id="language.oop5.visibility-members">
|
||||
<title>Область Видимості Властивості</title>
|
||||
<para>
|
||||
Властивості класа повинні оголошуватись як public, private, чи
|
||||
protected. Якщо оголошення відбувається через ключове слово <emphasis>var</emphasis>,
|
||||
то властивість буде визначена як public.
|
||||
Властивості класу можуть оголошуватись як public, private чи protected.
|
||||
Властивість, оголошена без ключового слова видимості, вважається
|
||||
загальнодоступною.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
@@ -56,7 +54,8 @@ $obj->printHello(); // Виводить Загальнодоступна, Зах
|
||||
*/
|
||||
class MyClass2 extends MyClass
|
||||
{
|
||||
// Ми можемо перевизначити public та protected методи, але не private
|
||||
// Ми можемо перевизначити public- та protected-властивості, але не private
|
||||
public $public = 'Public2';
|
||||
protected $protected = 'Захищена2';
|
||||
|
||||
function printHello()
|
||||
@@ -71,34 +70,24 @@ $obj2 = new MyClass2();
|
||||
echo $obj2->public; // Працює
|
||||
echo $obj2->protected; // Фатальна помилка
|
||||
echo $obj2->private; // Невизначено
|
||||
$obj2->printHello(); // Виводить Загальнодоступна, Захищена2, Закрита
|
||||
$obj2->printHello(); // Виводить Загальнодоступна2, Захищена2, Закрита
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
Метод, що оголошено через ключове слово
|
||||
<emphasis>var</emphasis>, яке було впроваджено в PHP 4,
|
||||
покищо підтримується з метою сумісності (як синонім ключового слова public).
|
||||
У версіях PHP 5 перед 5.1.3, таке використання буде виводити попередження
|
||||
<constant>E_STRICT</constant>.
|
||||
</simpara>
|
||||
</note>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.oop5.visiblity-methods">
|
||||
<title>Область Видимості Метода</title>
|
||||
<title>Область видимості метода</title>
|
||||
<para>
|
||||
Методи класа можуть бути визначені як public, private, чи
|
||||
protected. Методи, що оголошені без будь-якого ключового слова
|
||||
для видимості класа, визначаються як public.
|
||||
Методи класу можуть бути визначені як public, private чи protected. Метод,
|
||||
оголошений без ключового слова видимості, вважається загальнодоступним.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Оголошення Метода</title>
|
||||
<title>Оголошення метода</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
@@ -180,7 +169,7 @@ class Foo extends Bar
|
||||
}
|
||||
}
|
||||
|
||||
$myFoo = new foo();
|
||||
$myFoo = new Foo();
|
||||
$myFoo->test(); // Bar::testPrivate
|
||||
// Foo::testPublic
|
||||
?>
|
||||
@@ -190,14 +179,79 @@ $myFoo->test(); // Bar::testPrivate
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.oop5.visiblity-constants">
|
||||
<title>Видимість констант</title>
|
||||
<para>
|
||||
Починаючи з PHP 7.1.0, константи класу можуть оголошуватись як public,
|
||||
private чи protected. Константа, оголошена без ключового слова видимості,
|
||||
вважається загальнодоступною.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Оголошення констатн, починаючи з PHP 7.1.0</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/**
|
||||
* Define MyClass
|
||||
*/
|
||||
class MyClass
|
||||
{
|
||||
// Оголошення загальнодоступної константи
|
||||
public const MY_PUBLIC = 'public';
|
||||
|
||||
// Оголошення захищеної константи
|
||||
protected const MY_PROTECTED = 'protected';
|
||||
|
||||
// Оголошення закритої константи
|
||||
private const MY_PRIVATE = 'private';
|
||||
|
||||
public function foo()
|
||||
{
|
||||
echo self::MY_PUBLIC;
|
||||
echo self::MY_PROTECTED;
|
||||
echo self::MY_PRIVATE;
|
||||
}
|
||||
}
|
||||
|
||||
$myclass = new MyClass();
|
||||
MyClass::MY_PUBLIC; // Працює
|
||||
MyClass::MY_PROTECTED; // Фатальна помилка
|
||||
MyClass::MY_PRIVATE; // Фатальна помилка
|
||||
$myclass->foo(); // Працюють Public, Protected та Private
|
||||
|
||||
|
||||
/**
|
||||
* Визначення MyClass2
|
||||
*/
|
||||
class MyClass2 extends MyClass
|
||||
{
|
||||
// Це публічний метод
|
||||
function foo2()
|
||||
{
|
||||
echo self::MY_PUBLIC;
|
||||
echo self::MY_PROTECTED;
|
||||
echo self::MY_PRIVATE; // Фатальна помилка
|
||||
}
|
||||
}
|
||||
|
||||
$myclass2 = new MyClass2;
|
||||
echo MyClass2::MY_PUBLIC; // Працює
|
||||
$myclass2->foo2(); // Працюють константи Public та Protected, але не Private
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.oop5.visibility-other-objects">
|
||||
<title>Видимість з інших об'єктів</title>
|
||||
<para>
|
||||
Однотипні об'єкти мають доступ до методів
|
||||
та властивостей один одного, що оголошені як private або protected,
|
||||
навіть якщо ці об'єкти не є одним і тим же екземпляром. Це пояснюється тим,
|
||||
що впровадження механізма видимості відбувається відносно класів цих
|
||||
об'єктів, а не відносно самих об'єктів.
|
||||
Однотипні об'єкти мають доступ до методів та властивостей один одного, що
|
||||
оголошені як private або protected, навіть якщо ці об'єкти не є одним і тим
|
||||
же примірником. Це пояснюється тим, що впровадження механізму видимості
|
||||
відбувається відносно класів цих об'єктів, а не відносно самих об'єктів.
|
||||
</para>
|
||||
<example>
|
||||
<title>Доступ до закритих членів класу, що мають однаковий тип об'єкта</title>
|
||||
|
||||
@@ -1,82 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 24e5510d907b3be789bd773c5c8c01b29e22af47 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: a6d209f4ff71ccba3f1255902827f5df3e092ff9 Maintainer: mproshchuk Status: ready -->
|
||||
<refentry role="variable" xml:id="reserved.variables.server" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>$_SERVER</refname>
|
||||
<refname>$HTTP_SERVER_VARS [видалена]</refname>
|
||||
<refpurpose>Інформація про серверне та виконавче оточення</refpurpose>
|
||||
|
||||
<refpurpose>Інформація про серверне та виконавче середовище</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
Змінна <varname>$_SERVER</varname> є масивом (<type>array</type>), що
|
||||
містить таку інформацію як заголовки, шляхи та розташування скриптів.
|
||||
Записи в цьому масиві створює веб-сервер. Немає гарантії того, що кожен
|
||||
веб-сервер буде надавати всі ці записи; веб-сервери можуть опускати деякі з
|
||||
цих змінних, або надавати інші, незазначені в списку, що наведено нижче.
|
||||
Тим не менше, але більша частина з цих змінних взяті на облік в
|
||||
<link xlink:href="&url.rfc;3875">специфікації CGI/1.1</link>, отже вам варто
|
||||
бути готовим до них.
|
||||
Змінна <varname>$_SERVER</varname> — це масив, що містить таку інформацію як
|
||||
заголовки, шляхи та розташування скриптів. Записи в цьому масиві створює
|
||||
вебсервер. Немає гарантії, що кожен вебсервер буде надавати всі ці записи;
|
||||
Деякі дані може бути опущено або надано інші, незазначені в списку, який
|
||||
наведено нижче. Тим не менш, більша частина цих даних описані в
|
||||
<link xlink:href="&url.rfc;3875">специфікації CGI/1.1</link> і, ймовірно,
|
||||
будуть визначені.
|
||||
</para>
|
||||
|
||||
<simpara>
|
||||
Змінна <varname>$HTTP_SERVER_VARS</varname> містить таку ж ініціалізуючу
|
||||
інформацію, але не є
|
||||
<link linkend="language.variables.superglobals">суперглобальною</link>.
|
||||
(Зауважте, що <varname>$HTTP_SERVER_VARS</varname> та <varname>$_SERVER</varname>
|
||||
є різними змінними, а тому PHP обробляє їх як такі). Також майте на увазі,
|
||||
що масиви з довгою назвою були видалені починаючи з PHP 5.4.0, отже
|
||||
змінної <varname>$HTTP_SERVER_VARS</varname> більше не існує.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
Під час виконання PHP в <link linkend="features.commandline">командному
|
||||
рядку</link> більшість з цих записів не доступні або мають інше значення.
|
||||
</simpara>
|
||||
</note>
|
||||
<para>
|
||||
Разом з елементами, описаними нижче, PHP створює додаткові елементи зі
|
||||
значеннями заголовків запиту. Ці елементи матимуть ключі з назвою, що
|
||||
складається з <literal>HTTP_</literal> та назви заголовка великими буквами та
|
||||
підкресленнями замість дефісів. Наприклад, заголовок
|
||||
<literal>Accept-Language</literal> буде доступний як
|
||||
<code>$_SERVER['HTTP_ACCEPT_LANGUAGE']</code>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="indices">
|
||||
&reftitle.indices;
|
||||
|
||||
<simpara>
|
||||
Ви можете знайти (а можете і не знайти) будь-який з наступних елементів в
|
||||
<varname>$_SERVER</varname>. Невелика кількість з них може бути
|
||||
доступною (або дійсно матиме значення), якщо ви запускаєте PHP з
|
||||
<link linkend="features.commandline">командного рядка</link>.
|
||||
</simpara>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>'<varname>PHP_SELF</varname>'</term>
|
||||
<term>"<varname>PHP_SELF</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Шлях до файла, де в даний момент запущено скрипт, відносно кореневого
|
||||
каталогу документів веб-сервера (document root). Наприклад,
|
||||
<varname>$_SERVER['PHP_SELF']</varname> в скрипті за адресою
|
||||
<filename>http://example.com/foo/bar.php</filename>
|
||||
буде <filename>/foo/bar.php</filename>.
|
||||
Константа <link linkend="language.constants.predefined">__FILE__</link>
|
||||
містить повний шлях та назву поточного (тобто підключеного) файла.
|
||||
Шлях до файлу, де запущено скрипт, відносно кореневої теки вебсервера
|
||||
(document root). Наприклад, <varname>$_SERVER['PHP_SELF']</varname> в
|
||||
скрипті за адресою <filename>http://example.com/foo/bar.php</filename>
|
||||
буде <filename>/foo/bar.php</filename>. Константа
|
||||
<link linkend="language.constants.predefined">__FILE__</link> містить
|
||||
повний шлях та назву поточного (тобто підключеного) файлу.
|
||||
</simpara>
|
||||
<simpara>
|
||||
Якщо PHP запущено з командного рядка, ця змінна містить назву скрипта починаючи з
|
||||
PHP 4.3.0, що раніше було недоступно.
|
||||
Якщо PHP запущено з командного рядка, ця змінна міститиме назву скрипта.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<link linkend="reserved.variables.argv">argv</link>'</term>
|
||||
<term>"<link linkend="reserved.variables.argv">argv</link>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Масив аргументів, переданих до скрипта. Коли скрипт запущено з
|
||||
командного рядка, то є можливість передавати до нього параметри в
|
||||
C-стилі. При виклику через метод GET, цей масив містить рядок запита.
|
||||
Масив аргументів, переданих до скрипта. Коли скрипт запущено з командного
|
||||
рядка, то є можливість передавати до нього параметри в C-стилі. Під час
|
||||
виклику методом GET цей масив містить рядок запиту.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<link linkend="reserved.variables.argc">argc</link>'</term>
|
||||
<term>"<link linkend="reserved.variables.argc">argc</link>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Містить число параметрів, переданих до скрипта з командного рядка
|
||||
@@ -86,94 +79,100 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>GATEWAY_INTERFACE</varname>'</term>
|
||||
<term>"<varname>GATEWAY_INTERFACE</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Назва та номер ревізії специфікації CGI сервера, що використовується;
|
||||
наприклад, '<literal>CGI/1.1</literal>'.
|
||||
Назва та номер ревізії специфікації CGI сервера, що використовується.
|
||||
Наприклад, <literal>"CGI/1.1"</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_ADDR</varname>'</term>
|
||||
<term>"<varname>SERVER_ADDR</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
IP-адреса сервера, під яким поточний скрипт виконується.
|
||||
IP-адреса сервера, на якому скрипт виконується.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_NAME</varname>'</term>
|
||||
<term>"<varname>SERVER_NAME</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Назва хоста сервера, під яким поточний скрипт виконується. Якщо скрипт
|
||||
запущено на віртуальному хості, ця змінна міститиме його назву.
|
||||
Назва хоста сервера, на якому скрипт виконується. Якщо скрипт запущено на
|
||||
віртуальному хості, ця змінна міститиме його назву.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
На Apache 2 потрібно встановити <literal>UseCanonicalName = On</literal>
|
||||
і <literal>ServerName</literal>. Інакше, це значення відображатиме назву
|
||||
хоста, надану клієнтом, яку можна підробити. Покладатися на це значення
|
||||
в контексті безпеки — небезпечно.
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>"<varname>SERVER_SOFTWARE</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Ідентифікаційний рядок сервера, передається в заголовках у відповідь на
|
||||
запит.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_SOFTWARE</varname>'</term>
|
||||
<term>"<varname>SERVER_PROTOCOL</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Ідентифікаційний рядок сервера, передається в заголовках при
|
||||
відповіді на запит.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_PROTOCOL</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Назва та номер ревізії протоколу, через який було запитано сторінку;
|
||||
наприклад, '<literal>HTTP/1.0</literal>';
|
||||
Назва та номер ревізії протоколу, через який було запитано сторінку.
|
||||
Наприклад, <literal>"HTTP/1.0"</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REQUEST_METHOD</varname>'</term>
|
||||
<term>"<varname>REQUEST_METHOD</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Назва метода, що використовувався при запиті сторінки;
|
||||
тобто '<literal>GET</literal>',
|
||||
'<literal>HEAD</literal>', '<literal>POST</literal>',
|
||||
'<literal>PUT</literal>'.
|
||||
Назва метода, що використовувався під час запиту сторінки, тобто
|
||||
<literal>"GET"</literal>, <literal>"HEAD"</literal>,
|
||||
<literal>"POST"</literal>, <literal>"PUT"</literal>.
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
Скрипт PHP завершує роботу після відправки заголовків (тобто,
|
||||
після здійснення будь-якого виводу без його буферизації) якщо метод
|
||||
запита був <literal>HEAD</literal>.
|
||||
Скрипт PHP завершує роботу після надсилання заголовків (тобто, після
|
||||
здійснення будь-якого виводу без його буферизації) якщо метод запиту
|
||||
був <literal>HEAD</literal>.
|
||||
</para>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REQUEST_TIME</varname>'</term>
|
||||
<term>"<varname>REQUEST_TIME</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Мітка часу, коли почався запит. Доступна починаючи з PHP 5.1.0.
|
||||
Мітка часу, коли почався запит.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REQUEST_TIME_FLOAT</varname>'</term>
|
||||
<term>"<varname>REQUEST_TIME_FLOAT</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Мітка часу, коли почався запит, з точністю до мікросекунд.
|
||||
Доступна починаючи з PHP 5.4.0.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>QUERY_STRING</varname>'</term>
|
||||
<term>"<varname>QUERY_STRING</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Рядок запиту, якщо він є, через який доступились до сторінки.
|
||||
@@ -182,122 +181,26 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>DOCUMENT_ROOT</varname>'</term>
|
||||
<term>"<varname>DOCUMENT_ROOT</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Коренева директорія документів (document root), з під якої поточний
|
||||
скрипт виконується; вона визначається в конфігураційному файлі веб-сервера.
|
||||
Коренева директорія документів (document root), в якій скрипт
|
||||
виконується; вона визначається в конфігураційному файлі вебсервера.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_ACCEPT</varname>'</term>
|
||||
<term>"<varname>HTTPS</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Accept:</literal> з поточного запита,
|
||||
якщо він є.
|
||||
Має непорожнє значення, якщо скрипт було запитано через протокол HTTPS.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_ACCEPT_CHARSET</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Accept-Charset:</literal>
|
||||
з поточного запита, якщо він є. Наприклад:
|
||||
'<literal>iso-8859-1,*,utf-8</literal>'.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_ACCEPT_ENCODING</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Accept-Encoding:</literal> з поточного запита,
|
||||
якщо він є. Наприклад: '<literal>gzip</literal>'.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_ACCEPT_LANGUAGE</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Accept-Language:</literal> з поточного запита,
|
||||
якщо він є. Наприклад: '<literal>uk</literal>'.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_CONNECTION</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Connection:</literal> з поточного запита,
|
||||
якщо він є. Наприклад: '<literal>Keep-Alive</literal>'.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_HOST</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>Host:</literal> з поточного запита,
|
||||
якщо він є.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_REFERER</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Адреса сторінки (якщо така є), з якої користувач перейшов
|
||||
на поточну сторінку. Це значення встановлюється браузером. Не всі
|
||||
браузери встановлюють це значення, а деякі надають можливість
|
||||
модифікувати <varname>HTTP_REFERER</varname>в якості додаткової
|
||||
можливості. Якщо коротко - цьому значенню не можна довіряти.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTP_USER_AGENT</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Вміст заголовка <literal>User-Agent:</literal> з поточного запита,
|
||||
якщо він є. Цей рядок містить позначення браузера користувача, з якого
|
||||
було запрошено поточну сторінку. Типовий приклад такого рядка:
|
||||
<computeroutput>Mozilla/4.5 [en] (X11; U;
|
||||
Linux 2.2.9 i586)</computeroutput>. Серед іншого, ви можете
|
||||
використовувати це значення з <function>get_browser</function>, щоб
|
||||
адаптувати вивід вашої сторінки під можливості браузера користувача.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>HTTPS</varname>'</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Має непусте значення, якщо скрипт було запитано через протокол HTTPS.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
При використанні ISAPI разом з IIS, матиме значення
|
||||
<literal>off</literal>, якщо запит було здійснено не через протокол
|
||||
HTTPS.
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REMOTE_ADDR</varname>'</term>
|
||||
<term>"<varname>REMOTE_ADDR</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
IP-адреса, з якої користувач переглядає поточну сторінку.
|
||||
@@ -306,7 +209,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REMOTE_HOST</varname>'</term>
|
||||
<term>"<varname>REMOTE_HOST</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Назва хоста, з якого користувач переглядає поточну сторінку. Зворотній
|
||||
@@ -314,9 +217,9 @@
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
Ваш веб-сервер повинен бути сконфігурований, щоб створювати цю змінну.
|
||||
Наприклад, в Apache вам потрібно <literal>HostnameLookups On</literal>
|
||||
у файлі &httpd.conf;, щоб вона існувала. Див. також
|
||||
Вебсервер необхідно сконфігурувати, так щоб створювалася ця змінна.
|
||||
Наприклад, в Apache у файлі &httpd.conf; потрібна опція
|
||||
<literal>HostnameLookups On</literal>. Див. також
|
||||
<function>gethostbyaddr</function>.
|
||||
</simpara>
|
||||
</note>
|
||||
@@ -324,17 +227,17 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REMOTE_PORT</varname>'</term>
|
||||
<term>"<varname>REMOTE_PORT</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Порт, який було використано на комп'ютері користувача, для зв'язку
|
||||
з веб-сервером.
|
||||
Порт, який було використано на комп'ютері користувача для зв'язку
|
||||
з вебсервером.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REMOTE_USER</varname>'</term>
|
||||
<term>"<varname>REMOTE_USER</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Ім'я авторизованого користувача.
|
||||
@@ -343,7 +246,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REDIRECT_REMOTE_USER</varname>'</term>
|
||||
<term>"<varname>REDIRECT_REMOTE_USER</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Ім'я авторизованого користувача, якщо запит має внутрішню переадресацію.
|
||||
@@ -352,15 +255,15 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SCRIPT_FILENAME</varname>'</term>
|
||||
<term>"<varname>SCRIPT_FILENAME</varname>"</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Абсолютний шлях до поточного скрипта, що виконується.
|
||||
<note>
|
||||
<para>
|
||||
Якщо скрипт виконується через CLI, з використанням відносного шляху,
|
||||
такого як <filename>file.php</filename> чи
|
||||
<filename>../file.php</filename>,
|
||||
Якщо скрипт виконується через CLI з використанням відносного шляху,
|
||||
як от <filename>file.php</filename> чи
|
||||
<filename>../file.php</filename>,
|
||||
<varname>$_SERVER['SCRIPT_FILENAME']</varname> буде містити цей
|
||||
відносний шлях, визначений користувачем.
|
||||
</para>
|
||||
@@ -370,162 +273,146 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_ADMIN</varname>'</term>
|
||||
<term>"<varname>SERVER_ADMIN</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Значення, що встановлено для директиви SERVER_ADMIN (для Apache)
|
||||
в конфігураційному файлі веб-сервера. Якщо скрипт запущено на
|
||||
віртуальному хості, SERVER_ADMIN матиме значення, визначене для
|
||||
даного віртуального хоста.
|
||||
Значення, що встановлено для директиви SERVER_ADMIN (для Apache) в
|
||||
конфігураційному файлі вебсервера. Якщо скрипт запущено на віртуальному
|
||||
хості, SERVER_ADMIN матиме значення, визначене для даного віртуального
|
||||
хоста.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_PORT</varname>'</term>
|
||||
<term>"<varname>SERVER_PORT</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Порт сервера, який використовується веб-сервером для зв'язку.
|
||||
Початково, встановлюється значення '<literal>80</literal>'.
|
||||
Але використовуючи SSL, наприклади, це значення буде таким, яке
|
||||
вказано в конфіг-файлі для з'єднання через безпечний HTTP-порт.
|
||||
Порт сервера, який використовується вебсервером для зв'язку. Початково,
|
||||
встановлюється значення <literal>"80"</literal>. Але використовуючи,
|
||||
наприклад, SSL, це значення буде тим, що вказано в конфігураційному файлі
|
||||
для з'єднання через безпечний HTTP-порт.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
На Apache 2, ви повинні встановити
|
||||
<literal>UseCanonicalName = On</literal>, а також
|
||||
<literal>UseCanonicalPhysicalPort = On</literal> для того, щоб отримати
|
||||
фізичний (реальний) порт, бо в іншому випадку, це значення може
|
||||
підмінятись, а тому не буде повертатись значення фізичного порта.
|
||||
Спиратись на це значення небезпечно в контексті, коли є потреба
|
||||
в посиленій безпеці.
|
||||
Для того, щоб отримати фізичний (реальний) порт на Apache 2, необхідно
|
||||
встановити <literal>UseCanonicalName = On</literal> і
|
||||
<literal>UseCanonicalPhysicalPort = On</literal>. В іншому випадку це
|
||||
значення може підмінятись, а тому не буде повертатись значення фізичного
|
||||
порту. Покладатися на це значення в контексті безпеки — небезпечно.
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SERVER_SIGNATURE</varname>'</term>
|
||||
<term>"<varname>SERVER_SIGNATURE</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Рядок, що містить версію веб-сервера та назву віртуального хоста, які
|
||||
додаються до сторінок, якщо на веб-сервері ця функціональність підключена.
|
||||
Рядок, що містить версію вебсервера та назву віртуального хоста, які
|
||||
додаються до сторінок, якщо на вебсервері ця функціональність підключена.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>PATH_TRANSLATED</varname>'</term>
|
||||
<term>"<varname>PATH_TRANSLATED</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Шлях, що базується на файловій системі (а не на шляху до кореневого
|
||||
каталога документів), який веде до поточного скрипта. PATH_TRANSLATED
|
||||
матиме значення, якщо створено співставлення (мапінг) між назвою
|
||||
віртуального хоста та реальним шляхом до його каталога.
|
||||
Шлях, що базується на файловій системі (а не на шляху до кореневої теки
|
||||
документів), який веде до поточного скрипта. PATH_TRANSLATED матиме
|
||||
значення, якщо створено зіставлення між назвою віртуального хоста та
|
||||
реальним шляхом до його теки.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
Починаючи з PHP 4.3.2, <envar>PATH_TRANSLATED</envar> більше не
|
||||
встановлюється явно на <acronym>SAPI</acronym> Apache 2, на відміну
|
||||
від Apache 1, де для неї встановлюється те ж саме значення, що і
|
||||
для змінної сервера <envar>SCRIPT_FILENAME</envar>, коли її не
|
||||
заповнено через конфіг-файли. Ця зміна була зроблена для відповідності
|
||||
зі специфікацією <acronym>CGI</acronym>, яка говорить, що змінна
|
||||
<envar>PATH_TRANSLATED</envar> повинна існувати тільки тоді, коли
|
||||
<envar>PATH_INFO</envar> є визначеною.
|
||||
</simpara>
|
||||
<simpara>
|
||||
Користувачі Apache 2 можуть використовувати
|
||||
<literal>AcceptPathInfo = On</literal> у файлі
|
||||
<filename>httpd.conf</filename>, щоб визначити <envar>PATH_INFO</envar>.
|
||||
Користувачі Apache 2 можуть використовувати <literal>AcceptPathInfo =
|
||||
On</literal> у файлі <filename>httpd.conf</filename>, щоб визначити
|
||||
<envar>PATH_INFO</envar>.
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>SCRIPT_NAME</varname>'</term>
|
||||
<term>"<varname>SCRIPT_NAME</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Містить шлях до поточного скрипта. Це є корисним для сторінок, які
|
||||
повинні посилатись на самих себе.
|
||||
Константа <link linkend="language.constants.predefined">__FILE__</link>
|
||||
містить повний шлях та назву файла до поточного (тобто підключеного) файла.
|
||||
повинні посилатись на самих себе. Константа <link
|
||||
linkend="language.constants.predefined">__FILE__</link> містить повний
|
||||
шлях та назву поточного файлу.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>REQUEST_URI</varname>'</term>
|
||||
<term>"<varname>REQUEST_URI</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
URI, яке передається для доступу до поточного скрипта; наприклад,
|
||||
'<literal>/index.html</literal>'.
|
||||
URI, який передається для доступу до поточного скрипта. Наприклад,
|
||||
<literal>"/index.html"</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>PHP_AUTH_DIGEST</varname>'</term>
|
||||
<term>"<varname>PHP_AUTH_DIGEST</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
При виконанні Digest HTTP автентифікації, цій змінній передається
|
||||
значення заголовка 'Authorization', що присилається клієнтом (який
|
||||
потім потрібно використовувати при відповідній перевірці).
|
||||
Під час виконання автентифікації Digest HTTP, цій змінній передається
|
||||
значення заголовка "Authorization" (яке потім використовується для
|
||||
відповідної перевірки), що присилає клієнт.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>PHP_AUTH_USER</varname>'</term>
|
||||
<term>"<varname>PHP_AUTH_USER</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
При виконанні HTTP автентифікації, цій змінній передається значення
|
||||
імені користувача, що передає користувач.
|
||||
Під час HTTP-автентифікації цій змінній передається ім'я користувача.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>PHP_AUTH_PW</varname>'</term>
|
||||
<term>"<varname>PHP_AUTH_PW</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
При виконанні HTTP автентифікації, цій змінній передається значення
|
||||
пароля, що перередає користувач.
|
||||
Під час HTTP-автентифікації цій змінній передається пароль користувача.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>AUTH_TYPE</varname>'</term>
|
||||
<term>"<varname>AUTH_TYPE</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
При виконанні HTTP автентифікації, цій змінній передається значення
|
||||
типу автентифікації.
|
||||
Під час HTTP-автентифікації, цій змінній передається значення типу
|
||||
автентифікації.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>PATH_INFO</varname>'</term>
|
||||
<term>"<varname>PATH_INFO</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Містить будь-який шлях, що надається клієнтом в кінці
|
||||
назви поточного скрипта, але передує рядку запита (якщо є).
|
||||
Наприклад, якщо до поточного скрипта доступаються через
|
||||
URL <filename>http://www.example.com/php/path_info.php/some/stuff?foo=bar</filename>,
|
||||
то <varname>$_SERVER['PATH_INFO']</varname> буде містити
|
||||
Містить будь-який шлях, вказаний клієнтом між назвою скрипта та
|
||||
рядком запиту. Наприклад, якщо скрипт запитувати через URI
|
||||
<filename>http://www.example.com/php/path_info.php/some/stuff?foo=bar</filename>,
|
||||
то <varname>$_SERVER['PATH_INFO']</varname> міститиме
|
||||
<literal>/some/stuff</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>'<varname>ORIG_PATH_INFO</varname>'</term>
|
||||
<term>"<varname>ORIG_PATH_INFO</varname>"</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Оригінальна версія '<varname>PATH_INFO</varname>' перед обробкою її
|
||||
через PHP.
|
||||
Необроблене інтерпретатором значення <varname>"PATH_INFO"</varname>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -534,45 +421,6 @@
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>5.4.0</entry>
|
||||
<entry>
|
||||
Змінна <varname>$HTTP_SERVER_VARS</varname> більше не доступна через
|
||||
те, що відповідні довгі масиви було видалено.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>5.3.0</entry>
|
||||
<entry>
|
||||
Директива <link linkend="ini.register-long-arrays">register_long_arrays</link>,
|
||||
що підключала <varname>$HTTP_SERVER_VARS</varname>, стала застарілою.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>4.1.0</entry>
|
||||
<entry>
|
||||
Вводиться <varname>$_SERVER</varname> на заміну застарілої
|
||||
<varname>$HTTP_SERVER_VARS</varname>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: ea5ef878791d0182c69e3fb69e05a7ddd97aad15 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: a1e3d629b4f01ee41bd38391cd5c6ae5ee894cb3 Maintainer: mproshchuk Status: ready -->
|
||||
<sect1 xml:id="language.types.float" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Дробний (Float)</title>
|
||||
<title>Десятковий дріб (float)</title>
|
||||
|
||||
<para>
|
||||
Дробне число - число з плаваючою точкою (також відоме як "floats", "doubles", чи "real")
|
||||
може записуватись з використанням будь-якого з наступних синтаксисів:
|
||||
Десятковий дріб - число з рухомою крапкою (також відоме як "float", "double"
|
||||
чи "real") може записуватись одним зі способів:
|
||||
</para>
|
||||
|
||||
<informalexample>
|
||||
@@ -16,19 +15,20 @@
|
||||
$a = 1.234;
|
||||
$b = 1.2e3;
|
||||
$c = 7E-10;
|
||||
$d = 1_234.567; // починаючи з PHP 7.4.0
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
|
||||
<para>
|
||||
Формально:
|
||||
Формально, починаючи з PHP 7.4.0 (до того знак підкреслення не був дозволений):
|
||||
</para>
|
||||
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
LNUM [0-9]+
|
||||
LNUM [0-9]+(_[0-9]+)*
|
||||
DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
|
||||
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
|
||||
]]>
|
||||
@@ -36,28 +36,28 @@ EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
|
||||
</informalexample>
|
||||
|
||||
<para>
|
||||
Розмір дробного (float) залежить від платформи, хоча максимальне значення,
|
||||
за звичай, рівне ~1.8e308 з точністю заокругленою до 14 десяткових цифр (при
|
||||
64-бітах використовується формат IEEE).
|
||||
Розмір десяткового дробу залежить від платформи, хоча зазвичай, максимальне
|
||||
значення дорівнює приблизно 1.8e308 з точністю заокругленою до 14 десяткових
|
||||
цифр (на 64-бітних системах використовується формат IEEE).
|
||||
</para>
|
||||
|
||||
<warning xml:id="warn.float-precision">
|
||||
<title>Точність дробного типу</title>
|
||||
<title>Точність десяткового дробу</title>
|
||||
|
||||
<para>
|
||||
Числа з плаваючою точкою мають обмежену точність. Хоча це залежить від операційної
|
||||
системи, зазвичай PHP використовує формат подвійної точності IEEE 754, який
|
||||
дає максимальну відносну похибку заокруглення порядка 1.11e-16. Не
|
||||
елементарні арифметичні операції можуть давати більшу похибку, що, звичайно ж,
|
||||
необхідно враховувати, бо збільшення кількості операцій при обрахунку
|
||||
підсилює цей ефект.
|
||||
Числа з рухомою точкою мають обмежену точність. Хоча це залежить від
|
||||
операційної системи, зазвичай PHP використовує формат подвійної точності IEEE
|
||||
754, який дає максимальну відносну похибку заокруглення 1.11e-16. Не
|
||||
елементарні арифметичні операції можуть давати більшу похибку, що необхідно
|
||||
враховувати, бо збільшення кількості операцій при обрахунку підсилює цей
|
||||
ефект.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Окрім того, раціональні числа, які представлені саме як числа з плаваючою
|
||||
точкою з основою 10, такі як <literal>0.1</literal> чи
|
||||
Окрім того, раціональні числа, які представлені саме як числа з рухомою
|
||||
крапкою з основою 10, такі як <literal>0.1</literal> чи
|
||||
<literal>0.7</literal>, не мають точного представлення у вигляді чисел з
|
||||
плаваючою точкою з основою 2, незалежно від розміру мантіси (для довідки: PHP
|
||||
рухомою крапкою з основою 2, незалежно від розміру мантиси (для довідки: PHP
|
||||
використовує основу 2 для внутрішніх обрахунків). Отже, вони не можуть бути
|
||||
конвертовані в їхні внутрішні відповідники з основою 2, без невеликих втрат
|
||||
точності. Ця особливість може призводити до заплутаних результатів:
|
||||
@@ -68,57 +68,72 @@ EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Так що ніколи не довіряйте дробним числам до останньої цифри, та не порівнюйте
|
||||
їх безпосередньо. Якщо необхідна висока точність, можна
|
||||
скористатись <link linkend="ref.bc">функціями з довільною матиматичною
|
||||
Не можна довіряти десятковим дробам до останньої цифри та порівнювати їх
|
||||
безпосередньо. Якщо необхідна висока точність, можна скористатись <link
|
||||
linkend="ref.bc">функціями з довільною математичною
|
||||
точністю</link> та функціями <link linkend="ref.gmp">gmp</link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
"Просте" пояснення можна продивитись тут
|
||||
<link xlink:href="&url.floating.point.guide;">floating point guide</link>.
|
||||
"Просте" пояснення можна продивитись тут:
|
||||
<link xlink:href="&url.floating.point.guide;">Довідка щодо чисел з рухомою
|
||||
крапкою</link>.
|
||||
</para>
|
||||
</warning>
|
||||
|
||||
<sect2 xml:id="language.types.float.casting">
|
||||
<title>Конвертація до дробного (float)</title>
|
||||
<title>Перетворення в десятковий дріб</title>
|
||||
|
||||
<para>
|
||||
Щоб отримати інформацію про перетворення рядків (<type>string</type>) в
|
||||
дробні числа (float), прогляньте
|
||||
<link linkend="language.types.string.conversion">Перетворення рядків в
|
||||
числа</link>. Для значень інших типів, спочатку виконується конвертація до
|
||||
цілочисельного (<type>integer</type>), а потім вже до дробного значення
|
||||
(<type>float</type>). Прогляньте
|
||||
<link linkend="language.types.integer.casting">Конвертація до
|
||||
цілочисельного</link>, щоб отримати детальнішу інформацію. Починаючи з PHP 5,
|
||||
видається повідомлення про помилку при конвертації об'єкта
|
||||
(<type>object</type>) до дробного числа (<type>float</type>).
|
||||
</para>
|
||||
<sect3 xml:id="language.types.float.casting.from-string">
|
||||
<title>Рядки</title>
|
||||
|
||||
<simpara>
|
||||
Якщо рядок є
|
||||
<link linkend="language.types.numeric-strings">числовим</link>
|
||||
або починається з числа, то його можна перетворити в відповідний десятковий
|
||||
дріб, а інакше в нуль (<literal>0</literal>).
|
||||
</simpara>
|
||||
</sect3>
|
||||
|
||||
<sect3 xml:id="language.types.float.casting.from-other">
|
||||
<title>Інші типи</title>
|
||||
|
||||
<para>
|
||||
Для значень інших типів перетворення виконується спершу в <type>int</type>,
|
||||
а потім з цілого в <type>float</type>. Докладніше:
|
||||
<link linkend="language.types.integer.casting">Перетворення в ціле
|
||||
число</link>.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Оскільки деякі типи мають невизначену поведінку під час перетворення на
|
||||
<type>int</type>, це також стосується перетворення на <type>float</type>.
|
||||
</para>
|
||||
</note>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.types.float.comparison">
|
||||
<title>Порівняння дробного (float)</title>
|
||||
<title>Порівняння десяткових дробів</title>
|
||||
|
||||
<para>
|
||||
Як записано вгорі в застережені, перевірка на рівність дробних значень є
|
||||
проблематичною, в зв'язку зі специфікою їх внутрішнього представлення. Тим
|
||||
не менше, існують способи здійснювати порівняння дробних значень обходячи
|
||||
згадані обмеження.
|
||||
Як записано вгорі в застережені, перевірка на рівність десяткових дробів є
|
||||
проблематичною в зв'язку зі специфікою їхньої будови. Тим не менш, існують
|
||||
способи здійснювати порівняння десяткових дробів, обходячи згадані обмеження.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Щоб перевірити дробне значення на рівність, використовується верхня межа
|
||||
відносної похибки для заокруглення. Це значення відоме як машинний нуль
|
||||
(чи машинний епсілон, або ж міра заокруглення), та є найменшою різницею, що
|
||||
приймається при розрахунках.
|
||||
Для порівняння десяткових дробів використовується верхня межа відносної
|
||||
похибки для заокруглення. Це значення відоме як машинний нуль (чи машинний
|
||||
епсилон, або ж міра заокруглення), та є найменшою різницею, що приймається
|
||||
при розрахунках.
|
||||
</para>
|
||||
|
||||
<informalexample>
|
||||
<simpara>
|
||||
<varname>$a</varname> та <varname>$b</varname> є рівними з точністю до 5-ти
|
||||
цифр після коми.
|
||||
цифр після крапки.
|
||||
</simpara>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
@@ -128,7 +143,7 @@ $b = 1.23456780;
|
||||
$машинний_нуль = 0.00001;
|
||||
|
||||
if(abs($a-$b) < $машинний_нуль) {
|
||||
echo "$a не рівне $b";
|
||||
echo "$a не дорівнює $b";
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
@@ -139,11 +154,11 @@ if(abs($a-$b) < $машинний_нуль) {
|
||||
<sect2 xml:id="language.types.float.nan">
|
||||
<title>NaN</title>
|
||||
<para>
|
||||
Деякі числові операції можуть мати результат зі значенням представленим
|
||||
через константу <constant>NAN</constant>. Такі результати представляють
|
||||
невизначені або невідображувані значення чисел з плаваючою точкою.
|
||||
Будь-які м'які чи строгі порівняння цих значень з іншими значеннями,
|
||||
включаючи їх самих, будуть мати в результаті хибне значення (&false;).
|
||||
Деякі числові операції можуть мати результат зі значенням костанти
|
||||
<constant>NAN</constant>. Такі результати представляють невизначені або
|
||||
невідображувані значення чисел з рухомою крапкою. Будь-які м'які чи строгі
|
||||
порівняння цих значень з іншими значеннями, включаючи їх самих, окрім &true;,
|
||||
будуть мати в результаті хибне значення (&false;).
|
||||
</para>
|
||||
<para>
|
||||
Оскільки <constant>NAN</constant> представляє собою число з будь-якими
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 67cf4f37868965b41fcda4e51a39e3529b544879 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 67cf4f37868965b41fcda4e51a39e3529b544879 Maintainer: mproshchuk Status: wip -->
|
||||
<sect1 xml:id="language.types.integer">
|
||||
<title>Цілочисельний (Integers)</title>
|
||||
|
||||
@@ -267,8 +266,19 @@ echo (int) ( (0.1+0.7) * 10 ); // виводить 7!
|
||||
<title>З рядкового типу</title>
|
||||
|
||||
<simpara>
|
||||
Прогляньте <link linkend="language.types.string.conversion">Конвертація
|
||||
значень рядкового типу до чисел</link>
|
||||
If the string is
|
||||
<link linkend="language.types.numeric-strings">numeric</link>
|
||||
or leading numeric then it will resolve to the
|
||||
corresponding integer value, otherwise it is converted to zero
|
||||
(<literal>0</literal>).
|
||||
</simpara>
|
||||
</sect3>
|
||||
|
||||
<sect3 xml:id="language.types.integer.casting-from-null">
|
||||
<title>From <type>NULL</type></title>
|
||||
|
||||
<simpara>
|
||||
&null; is always converted to zero (<literal>0</literal>).
|
||||
</simpara>
|
||||
</sect3>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 48ce43fe79fa0c9f31f187ea8ec995b4cb13037e Maintainer: mproshchuk Status: ready -->
|
||||
<book xml:id="book.array" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
<title>Масиви</title>
|
||||
@@ -9,25 +7,23 @@
|
||||
<preface xml:id="intro.array">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
Ці функції надають різні варіанти для маніпулювння та взаємодії з масивами.
|
||||
Масиви мають істотне значення для зберігання, управління, і роботи
|
||||
Ці функції надають різні варіанти для обробки та взаємодії з масивами.
|
||||
Масиви мають істотне значення для зберігання, управління і роботи
|
||||
з наборами змінних.
|
||||
</para>
|
||||
<para>
|
||||
Підтримуються прості та багатовимірні масиви, вони можуть створюватись як
|
||||
користувачами, так і іншими функціями. Є спеціальні функції для заповнення
|
||||
масивів запитами до баз даних, та декілька фунцій, що повертають масиви.
|
||||
масивів запитами до баз даних, та декілька функцій, що повертають масиви.
|
||||
</para>
|
||||
<para>
|
||||
Будь-ласка прогляньте розділ <link linkend="language.types.array">Масиви</link>,
|
||||
для детального пояснення, як вони впроваджуються
|
||||
та використовуються в PHP.
|
||||
Прогляньте також <link linkend="language.operators.array">Оператори Масивів</link>
|
||||
для ознайомлення з іншими варіантами маніпуляцій з масивами.
|
||||
У розділі <link linkend="language.types.array">Масиви</link> докладно
|
||||
пояснено, як їх створювати та використовувати в PHP. Для ознайомлення з
|
||||
іншими варіантами обробки масивів варто прочитати розділ <link
|
||||
linkend="language.operators.array">Оператори масивів</link>.
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
&reference.array.setup;
|
||||
&reference.array.constants;
|
||||
&reference.array.sorting;
|
||||
&reference.array.reference;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 9481fbe0e0281d68ac46a6624132cd771bd3ed0c Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 9481fbe0e0281d68ac46a6624132cd771bd3ed0c Maintainer: mproshchuk Status: wip -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.array-map">
|
||||
<refnamediv>
|
||||
<refname>array_map</refname>
|
||||
@@ -344,7 +343,6 @@ array(1) {
|
||||
<member><function>array_filter</function></member>
|
||||
<member><function>array_reduce</function></member>
|
||||
<member><function>array_walk</function></member>
|
||||
<member>&seealso.callback;</member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -1,25 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: mproshchuk Status: ready -->
|
||||
<book xml:id="book.bc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="bundled" ?>
|
||||
<title>Обрахунок з Довільною Математичною Точністю</title>
|
||||
<titleabbrev>Двійковий Калькулятор</titleabbrev>
|
||||
|
||||
<title>BCMath — розрахунки з довільною математичною точністю</title>
|
||||
<titleabbrev>BCMath</titleabbrev>
|
||||
|
||||
<!-- {{{ preface -->
|
||||
<preface xml:id="intro.bc">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
Для математичних обчислень з довільною точністю PHP пропонує
|
||||
Двійковий Калькулятор (BC Math), котрий підтримує числа будь-якого
|
||||
розміру і точності, надані у вигляді рядка.
|
||||
розширення BC Math, яке дозволяє оперувати числами будь-якого розміру і
|
||||
точності, представленими у вигляді рядків, аж до
|
||||
<literal>2147483647</literal> (<literal>0x7FFFFFFF</literal>) знаків або
|
||||
обмежуючись виділеною пам'яттю.
|
||||
</para>
|
||||
<para>
|
||||
Правильними числами для BCMath є рядки, що відповідають регулярному виразу
|
||||
<literal>/^[+-]?[0-9]*(\.[0-9]*)?$/</literal>.
|
||||
</para>
|
||||
<caution>
|
||||
<para>
|
||||
Передавання числа типу <type>float</type> в функції BCMath, які очікують
|
||||
операнди типу <type>string</type>, може не мати бажаного ефекту через
|
||||
спосіб, яким PHP перетворює <type>float</type>-значення в
|
||||
<type>string</type>, а саме: рядок (<type>string</type>) може
|
||||
отримати експонентний запис числа (що не підтримується BCMath); до PHP 8.0.0
|
||||
символ десяткового розділювача залежить від локалі (тоді як BCMath очікує
|
||||
крапку).
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$num1 = 0; // (string) 0 => '0'
|
||||
$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'
|
||||
echo bcadd($num1, $num2, 6); // => '0.000000'
|
||||
|
||||
setlocale(LC_NUMERIC, 'de_DE'); // розділювач — кома
|
||||
$num2 = 1.2; // (string) 1.2 => '1,2'
|
||||
echo bcsub($num1, $num2, 1); // => '0.0'
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</caution>
|
||||
</preface>
|
||||
<!-- }}} -->
|
||||
|
||||
|
||||
&reference.bc.setup;
|
||||
&reference.bc.constants;
|
||||
&reference.bc.reference;
|
||||
|
||||
</book>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: mproshchuk Status: ready -->
|
||||
|
||||
<book xml:id="book.bzip2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="bundledexternal" ?>
|
||||
@@ -17,7 +16,6 @@
|
||||
<!-- }}} -->
|
||||
|
||||
&reference.bzip2.setup;
|
||||
&reference.bzip2.constants;
|
||||
&reference.bzip2.examples;
|
||||
&reference.bzip2.reference;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5032f41c27538326b916a1917a1308fddc099b5c Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: mproshchuk Status: wip -->
|
||||
<reference xml:id="class.datetime" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<title>Клас DateTime</title>
|
||||
@@ -15,6 +13,21 @@
|
||||
<para>
|
||||
Представлення дати й часу.
|
||||
</para>
|
||||
<para>
|
||||
This class behaves the same as <classname>DateTimeImmutable</classname>,
|
||||
except objects are modified itself when modification methods such as
|
||||
<function>DateTime::modify</function> are called.
|
||||
</para>
|
||||
<warning>
|
||||
<para>
|
||||
Calling methods on objects of the class <classname>DateTime</classname>
|
||||
will change the information encapsulated in these objects, if you want to
|
||||
prevent that you will have to use <literal>clone</literal> operator to
|
||||
create a new object. Use <classname>DateTimeImmutable</classname>
|
||||
instead of <classname>DateTime</classname> to obtain this recommended
|
||||
behaviour by default.
|
||||
</para>
|
||||
</warning>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
|
||||
@@ -22,40 +35,32 @@
|
||||
&reftitle.classsynopsis;
|
||||
|
||||
<!-- {{{ Synopsis -->
|
||||
<classsynopsis>
|
||||
<ooclass><classname>DateTime</classname></ooclass>
|
||||
<classsynopsis class="class">
|
||||
<ooclass>
|
||||
<classname>DateTime</classname>
|
||||
</ooclass>
|
||||
|
||||
<oointerface>
|
||||
<modifier>implements</modifier>
|
||||
<interfacename>DateTimeInterface</interfacename>
|
||||
</oointerface>
|
||||
|
||||
<!-- {{{ Class synopsis -->
|
||||
<classsynopsisinfo>
|
||||
<ooclass>
|
||||
<classname>DateTime</classname>
|
||||
</ooclass>
|
||||
<oointerface>
|
||||
<interfacename>DateTimeInterface</interfacename>
|
||||
</oointerface>
|
||||
</classsynopsisinfo>
|
||||
<!-- }}} -->
|
||||
<classsynopsisinfo role="comment">&InheritedConstants;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Constants;']]))">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='DateTime'])">
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
<!--
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:destructorsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DateTime'])">
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
-->
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
</xi:include>
|
||||
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='oop'])" />
|
||||
|
||||
</classsynopsis>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DateTime'])">
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
</classsynopsis>
|
||||
<!-- }}} -->
|
||||
|
||||
</section>
|
||||
@@ -80,33 +85,11 @@
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>7.0.0</entry>
|
||||
<entry>7.1.0</entry>
|
||||
<entry>
|
||||
Added constants: <link linkend="datetime.constants.rfc3339_extended">DATE_RFC3339_EXTENDED</link> and
|
||||
<link linkend="datetime.constants.rfc3339_extended">DateTime::RFC3339_EXTENDED</link>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>5.5.0</entry>
|
||||
<entry>
|
||||
Клас тепер впроваджує <classname>DateTimeInterface</classname>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>5.4.24</entry>
|
||||
<entry>
|
||||
Константа COOKIE змінена у відповідності до RFC 1036, і тепер
|
||||
використовується чотири цифри року, замість двох цифр року,
|
||||
як було в попередній версії (RFC 850).
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>5.2.2</entry>
|
||||
<entry>
|
||||
Результати порівняння об'єктів DateTime при використанні
|
||||
<link linkend="language.operators.comparison">операторів порівняння</link>
|
||||
тепер працюють як очікується. Раніше, всі об'єкти DateTime вважались
|
||||
еквівалентними (використовуючи <literal>==</literal>).
|
||||
The <classname>DateTime</classname> constructor now includes the
|
||||
current microseconds in the constructed value. Before this, it would
|
||||
always initialise the microseconds to <literal>0</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: df92f1fd1ce8e5450fee9f7cb2c47698d8063b76 Maintainer: ktretyak Status: wip -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: df92f1fd1ce8e5450fee9f7cb2c47698d8063b76 Maintainer: mproshchuk Status: ready -->
|
||||
<section xml:id="dbase.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
&reftitle.install;
|
||||
<para>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 48ce43fe79fa0c9f31f187ea8ec995b4cb13037e Maintainer: mproshchuk Status: ready -->
|
||||
|
||||
<book xml:id="book.dir" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
@@ -15,7 +14,6 @@
|
||||
</preface>
|
||||
}}} -->
|
||||
|
||||
&reference.dir.setup;
|
||||
&reference.dir.constants;
|
||||
&reference.dir.directory;
|
||||
&reference.dir.reference;
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: mproshchuk Status: ready -->
|
||||
|
||||
<reference xml:id="ref.dir" xmlns="http://docbook.org/ns/docbook">
|
||||
<title>&Functions; для роботи з директорією</title>
|
||||
<title>&Functions; для роботи з теками</title>
|
||||
|
||||
<partintro>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
Для відповідних функцій, таких як <function>dirname</function>,
|
||||
<function>is_dir</function>, <function>mkdir</function>, та
|
||||
<function>rmdir</function>, прогляньте розділ
|
||||
Функції <function>dirname</function>, <function>is_dir</function>,
|
||||
<function>mkdir</function>, та <function>rmdir</function> описані у розділі
|
||||
<link linkend="ref.filesystem">Файлова система</link>.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: wip -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 48ce43fe79fa0c9f31f187ea8ec995b4cb13037e Maintainer: mproshchuk Status: ready -->
|
||||
<book xml:id="book.funchand" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
<title>Function Handling</title>
|
||||
<title>Обробка функцій</title>
|
||||
|
||||
<preface xml:id="intro.funchand">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
These functions all handle various operations involved in working
|
||||
with functions.
|
||||
Усі ці функції обробляють різноманітні операції над функціями.
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
&reference.funchand.setup;
|
||||
&reference.funchand.constants;
|
||||
&reference.funchand.reference;
|
||||
|
||||
</book>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: mproshchuk Status: ready -->
|
||||
|
||||
<book xml:id="book.mail" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
@@ -16,7 +15,6 @@
|
||||
<!-- }}} -->
|
||||
|
||||
&reference.mail.setup;
|
||||
&reference.mail.constants;
|
||||
&reference.mail.reference;
|
||||
|
||||
</book>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 8a22143e78dd128da4cf2d5896c82b23788831c7 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: mproshchuk Status: ready -->
|
||||
<refentry xml:id="function.gethostbyaddr" xmlns="http://docbook.org/ns/docbook">
|
||||
<refnamediv>
|
||||
<refname>gethostbyaddr</refname>
|
||||
@@ -11,12 +10,12 @@
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>string</type><methodname>gethostbyaddr</methodname>
|
||||
<methodparam><type>string</type><parameter>ip_address</parameter></methodparam>
|
||||
<type class="union"><type>string</type><type>false</type></type><methodname>gethostbyaddr</methodname>
|
||||
<methodparam><type>string</type><parameter>ip</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Повертає назву хоста в інтернеті, по заданій IP-адресі через параметр
|
||||
<parameter>ip_address</parameter>.
|
||||
Повертає назву хоста в інтернеті за заданою IP-адресою через параметр
|
||||
<parameter>ip</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -25,7 +24,7 @@
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>ip_address</parameter></term>
|
||||
<term><parameter>ip</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
IP-адреса хоста.
|
||||
@@ -39,9 +38,9 @@
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Повертає назву хоста при успіху, незмінений параметр
|
||||
<parameter>ip_address</parameter>
|
||||
при невдачі, або &false; при некоректному введенні параметра.
|
||||
Повертає назву хоста у разі успіху, незмінений параметр
|
||||
<parameter>ip</parameter> у разі невдачі, &false; при некоректному введенні
|
||||
параметра.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 14af302c9c0e561fa6f9cdd956268758ba9a89c5 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 8d1ee58c3e2221d58050f162ec909cbe6d00cbaf Maintainer: mproshchuk Status: ready -->
|
||||
<reference xml:id="ref.pdo-sqlite" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="bundledexternal" ?>
|
||||
<title>Функції SQLite (PDO_SQLITE)</title>
|
||||
@@ -11,19 +9,9 @@
|
||||
<section xml:id="pdo-sqlite.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
PDO_SQLITE це драйвер, що впроваджує <link linkend="intro.pdo">інтерфейс
|
||||
PDO_SQLITE — це драйвер, що реалізує <link linkend="intro.pdo">інтерфейс
|
||||
PHP Data Objects (PDO)</link> для підключення до бази даних SQLite 3.
|
||||
</para>
|
||||
<para>
|
||||
В PHP 5.1, розширення <link linkend="ref.sqlite">SQLite</link> також
|
||||
надає драйвер для бази даних SQLite 2; хоча технічно він не є
|
||||
частиною драйвера PDO_SQLITE, але має схожу поведінку, то ж їх документацію
|
||||
розміщуємо поруч. Драйвер SQLite 2 для PDO насамперед забезпечує легкий
|
||||
імпорт файлів застарівшої бази даних SQLite 2 для застосунків, що
|
||||
використовують швидкий та більш ефективний драйвер SQLite 3. Отже,
|
||||
драйвер SQLite 2 не є на стільки ж багатофункціональним як
|
||||
драйвер SQLite 3.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
PDO_SQLITE дозволяє використовувати рядки окремо від потоків разом з
|
||||
@@ -55,53 +43,25 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Щоб підключитись до диска, додайте абсолютний шлях після префікса DSN.
|
||||
Щоб підключитись до диска, потрібно абсолютний шлях після префікса DSN.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Щоб створити базу даних в пам'яті, додайте запис
|
||||
Щоб створити базу даних в пам'яті, потрібно додати запис
|
||||
<literal>:memory:</literal> після префікса DSN.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Якщо DSN складається лише з префіксу DSN, використовується тимчасова
|
||||
база даних, яка видаляється після закриття з’єднання.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Префікс DSN (SQLite 2)</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Розширення <link linkend="ref.sqlite">SQLite</link> в
|
||||
PHP 5.1 надає драйвер PDO, що дозволяє створювати та обслуговувати
|
||||
базу даних SQLite 2.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Драйвер sqlite2 доступний в PHP 5.1.x лише якщо ви підключили
|
||||
PDO та розширення sqlite. Зараз він недоступний через PECL.
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
Префікс DSN для підключення до бази даних SQLite 2 пишеться також
|
||||
з двокрапкою в кінці <userinput>sqlite2:</userinput>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Щоб підключитись до диска, додайте абсолютний шлях після префікса DSN.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Щоб створити базу даних в пам'яті, додайте запис
|
||||
<literal>:memory:</literal> після префікса DSN.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
@@ -117,8 +77,7 @@
|
||||
<![CDATA[
|
||||
sqlite:/opt/databases/mydb.sq3
|
||||
sqlite::memory:
|
||||
sqlite2:/opt/databases/mydb.sq2
|
||||
sqlite2::memory:
|
||||
sqlite:
|
||||
]]>
|
||||
</programlisting>
|
||||
</para>
|
||||
@@ -130,8 +89,7 @@ sqlite2::memory:
|
||||
&reference.pdo-sqlite.entities.PDO;
|
||||
|
||||
</reference>
|
||||
<!-- <link linkend="ref.sqlite">SQLite</link> -->
|
||||
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d3c871ae1e218ab417e15731c9dee930149baad0 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: d51166ca16fda8e766849505b84f9306ef443f71 Maintainer: mproshchuk Status: ready -->
|
||||
<refentry xml:id="splfileobject.eof" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>SplFileObject::eof</refname>
|
||||
<refpurpose>Визначає чи досягнуто кінець файла</refpurpose>
|
||||
<refpurpose>Визначає, чи досягнуто кіння файлу</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<methodsynopsis role="SplFileObject">
|
||||
<modifier>public</modifier> <type>bool</type><methodname>SplFileObject::eof</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Визначає чи досягнуто кінець файла
|
||||
@@ -27,7 +25,7 @@
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Повертає &true; якщо було досягнено кінець файла, &false; - в противному разі.
|
||||
Повертає &true; якщо досягнуто кінця файлу, в іншому разі — &false;.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: df58adf8fff5cf7dea921a841e28ea2478e678ea Maintainer: mproshchuk Status: ready -->
|
||||
<book xml:id="book.sqlite3" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="bundled" ?>
|
||||
<title>SQLite3</title>
|
||||
@@ -10,13 +8,14 @@
|
||||
<preface xml:id="intro.sqlite3">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
Підтримка баз даних SQLite третьої версії.
|
||||
Підтримка баз даних SQLite 3.
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
&reference.sqlite3.setup;
|
||||
&reference.sqlite3.constants;
|
||||
&reference.sqlite3.sqlite3;
|
||||
&reference.sqlite3.sqlite3exception;
|
||||
&reference.sqlite3.sqlite3stmt;
|
||||
&reference.sqlite3.sqlite3result;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 9cfc780d75b8b125a5330ea8b5e673992de88691 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 61374bbe228e8e9c55a24aba59a1e2bb2a871148 Maintainer: mproshchuk Status: wip -->
|
||||
<refentry xml:id="sqlite3.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>SQLite3::__construct</refname>
|
||||
@@ -12,12 +10,12 @@
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<constructorsynopsis role="SQLite3">
|
||||
<modifier>public</modifier> <methodname>SQLite3::__construct</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE</initializer></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>encryption_key</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<methodparam choice="opt"><type>string</type><parameter>encryptionKey</parameter><initializer>""</initializer></methodparam>
|
||||
</constructorsynopsis>
|
||||
<para>
|
||||
Створює об'єкт класа SQLite3 та відкриває з'єднання для бази даних SQLite 3.
|
||||
Якщо база даних має шифрування, то буде спроба використати <parameter>encryption_key</parameter>
|
||||
@@ -35,6 +33,9 @@
|
||||
<para>
|
||||
Шлях до бази даних SQLite, або рядок із записом <literal>:memory:</literal>,
|
||||
щоб використовувати базу даних в пам'яті.
|
||||
If <parameter>filename</parameter> is an empty string, then a private, temporary on-disk
|
||||
database will be created. This private database will be automatically
|
||||
deleted as soon as the database connection is closed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -44,23 +45,23 @@
|
||||
<para>
|
||||
Необов'язковий флаг, для визначення - як саме
|
||||
відкривати базу даних SQLite. Початково, при відкритті використовується
|
||||
<literal>SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE</literal>.
|
||||
<constant>SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE</constant>.
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>SQLITE3_OPEN_READONLY</literal>: Відкриває базу даних лише
|
||||
<constant>SQLITE3_OPEN_READONLY</constant>: Відкриває базу даних лише
|
||||
для читання.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>SQLITE3_OPEN_READWRITE</literal>: Відкриває базу даних для
|
||||
<constant>SQLITE3_OPEN_READWRITE</constant>: Відкриває базу даних для
|
||||
читання та запису.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>SQLITE3_OPEN_CREATE</literal>: Створює базу даних,
|
||||
<constant>SQLITE3_OPEN_CREATE</constant>: Створює базу даних,
|
||||
якщо вона не існує.
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -69,11 +70,12 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>encryption_key</parameter></term>
|
||||
<term><parameter>encryptionKey</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Необов'язковий ключ шифра, що використовується при шифруванні та
|
||||
дешифруванні бази даних SQLite.
|
||||
дешифруванні бази даних SQLite. If the SQLite encryption module is not installed,
|
||||
this parameter will have no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -82,19 +84,35 @@
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Повертає об'єкт бази даних SQLite3 при успіху.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
Кидає <classname>Exception</classname> в разі помилки.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
&reftitle.changelog;
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>7.0.10</entry>
|
||||
<entry>
|
||||
The <parameter>filename</parameter> can now be empty to use a private,
|
||||
temporary on-disk database.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
@@ -106,7 +124,7 @@
|
||||
<?php
|
||||
$db = new SQLite3('mysqlitedb.db');
|
||||
|
||||
$db->exec('CREATE TABLE foo (bar STRING)');
|
||||
$db->exec('CREATE TABLE foo (bar TEXT)');
|
||||
$db->exec("INSERT INTO foo (bar) VALUES ('Це перевірка')");
|
||||
|
||||
$result = $db->query('SELECT bar FROM foo');
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1634a886415d0ab4df195fe49d18a1c150b70758 Maintainer: ktretyak Status: ready -->
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: mproshchuk Status: ready -->
|
||||
<book xml:id="book.var" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
<title>Обробка змінних</title>
|
||||
@@ -9,14 +7,13 @@
|
||||
<preface xml:id="intro.var">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
Щоб ознайомитись з тим, як змінні поводяться, прогляньте
|
||||
розділ <link linkend="language.variables">Змінні</link> главі
|
||||
<link linkend="langref">Довідник для PHP</link> даного посібника.
|
||||
Інформація для ознайомлення з тим, як змінні поводяться, надана у розділі
|
||||
<link linkend="language.variables">Змінні</link> глави
|
||||
<link linkend="langref">Довідник для PHP</link> цього посібника.
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
&reference.var.setup;
|
||||
&reference.var.constants;
|
||||
&reference.var.reference;
|
||||
|
||||
</book>
|
||||
|
||||
Reference in New Issue
Block a user