diff --git a/chapters/tutorial.xml b/chapters/tutorial.xml index 7dfcadc32..375e50f21 100644 --- a/chapters/tutorial.xml +++ b/chapters/tutorial.xml @@ -1,5 +1,5 @@ - + @@ -31,9 +31,6 @@ автоматически. Не нужно ничего компилировать, не нужно никаких дополнительных программ. Считайте файлы PHP обычными файлами HTML с набором новых "волшебных" тегов, которые могут делать кучу разных вещей. - Большинство веб-хостингов предлагают поддержку PHP, но если в вашем случае - это не так, просмотрите список хостингов, поддерживающих PHP, в разделе - Ссылки PHP. Например, вы хотите сэкономить на интернет-канале и вести разработку локально. @@ -528,9 +525,7 @@ if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { Что дальше? То, что вы узнали, поможет вам понять большую часть руководства и - разобраться в большинстве приведенных примеров программ. Другие - примеры находятся на различных сайтах, ссылки на которые можно найти - в одноименном разделе php.net: &url.php.links;. + разобраться в большинстве приведенных примеров программ. Если вы хотите посмотреть различные презентации и слайды, шире diff --git a/extensions.ent b/extensions.ent index ecce61d52..0c908de65 100644 --- a/extensions.ent +++ b/extensions.ent @@ -1,5 +1,5 @@ - + diff --git a/language-snippets.ent b/language-snippets.ent index bf9d60135..cd9eb08cb 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1,5 +1,5 @@ - + @@ -446,6 +446,11 @@ latin2 (более высокое число соответствует боль dbm_identifierИдентификатор соединения DBM, полученный из dbmopen.'> + + +PHP реализует надмножество JSON - также кодируя и декодируя скалярные типы и &null;. Оригинальный JSON поддерживает эти значения только в случае, если они находятся внутри массива или объекта. +'> + ch @@ -477,6 +482,9 @@ imap_streamПоток IMAP, полученн Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding.'> +Кодировка символов, указанная функцией mb_regex_encoding, +будет по умолчанию использована для данной функции.'> + Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.'> @@ -718,8 +726,8 @@ objectТолько для процедурн Для использования метода Easy Connect, PHP должен быть слинкован с клиентскими библиотеками версии Oracle - 10g или старше. Easy Connect string для Oracle 10g принимает следующую форму: - [//]host_name[:port][/service_name]. Для Oracle 11g синтаксис таков: + 10g или старше. Easy Connect string для Oracle 10g принимает следующую форму: + [//]host_name[:port][/service_name]. Начиная с Oracle 11g синтаксис таков: [//]host_name[:port][/service_name][:server_type][/instance_name]. Названия служб могут быть определены с помощью запуска Oracle утилиты lsnrctl status на сервере базы данных. @@ -740,7 +748,7 @@ objectТолько для процедурн Если кодировка не указана, клиентские библиотеки Oracle будут определять ее из переменной окружения NLS_LANG. -Передача этого параметра может уменьшить время соединения. +Передача этого параметра может уменьшить время затрачиваемое на соединение. "> Этот параметр @@ -778,11 +786,8 @@ objectТолько для процедурн возвращаемый oci_connect, oci_pconnect, или oci_new_connect.'> - - Требование к версии Oracle -Эта функция доступна, если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.'> +Эта функция доступна, если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.'> ПроизводительностьВ старых версиях OCI8 или базы данных Oracle было возможно установить информацию о клиенте с помощью пакета @@ -1344,6 +1349,15 @@ xmlwriterТолько для процедур константам статусов.'> константам типов.'> + +Ресурс (resource) нейронной сети.'> +Ресурс (resource) обучающих данных нейронной сети.'> +Или ресурс (resource) нейронной сети, или ресурс (resource) обучающих данных нейронной сети.'> +Не возвращает никакого значения.'> +Возвращает &true; в случае успешного выполнения, или &false; в противном случае.'> + Возвращает ресурс (resource) нейронной сети в случае успешного выполнения, или &false; в случае ошибки.'> + Возвращает ресурс (resource) обучающих данных, или &false; в случае ошибки.'> + @@ -1692,7 +1706,7 @@ xmlns="http://docbook.org/ns/docbook">Данная функция возвращает массив, описывающий режимы предпочтения чтения. Массив содержит следующие значения: type для строкового значения режима предпочтения чтения (соответствующий константам MongoClient) и tagsets, содержащее список всех критерий наборов тегов. Если наборы тегов не были указаны, то tagsets в массиве не будет.'> "w"Смотрите WriteConcerns. Значение по умолчанию для MongoClient является 1.'> "wtimeout"Время ожидания подтверждения WriteConcern. По умолчанию составляет 10000 миллисекунд для класса MongoClient'> -"fsync"Булевое значение, по умолчанию равно &false;. Вынуждает выполнить синхронизацию вставленных данных на диск перед возвращением успешного статуса. Если установлено в &true;, то будет использована синхронизированная вставка данных, и опция w будет установлена в 0.'> +"fsync"Булевое значение, по умолчанию равно &false;. Если журналлирование включено, работает точно так же как и "j". Если же журналирование не включено, то вынуждает выполнить синхронизацию вставленных данных на диск перед возвращением успешного статуса. Если установлено в &true;, то будет использована синхронизированная вставка данных, и опция w будет установлена в 0.Данная опция устарела. Используйте вместо нее опцию "j".'> "j"Булевое значение, по умолчанию &false;. Форсирует синхронизацию вставки записи с журналом перед возвращением успешного статуса. Если установлено в &true;, то будет неявно применена подтвержденная вставка и перезаписана установка опции w в 0.'> "safe"Устарело. Пожалуйста, используйте WriteConcern опцию w.'> diff --git a/reference/oci8/functions/oci-bind-by-name.xml b/reference/oci8/functions/oci-bind-by-name.xml index d68bf0b45..fca4582e2 100644 --- a/reference/oci8/functions/oci-bind-by-name.xml +++ b/reference/oci8/functions/oci-bind-by-name.xml @@ -1,5 +1,5 @@ - + @@ -818,13 +818,6 @@ foreach ($myarray as $key => $value) { - - - В версиях PHP ниже 5.0.0 следует использовать - функцию ocibindbyname. - &oci.name.compat.note; - - diff --git a/reference/oci8/functions/oci-close.xml b/reference/oci8/functions/oci-close.xml index 89ba1d09e..436a2b679 100644 --- a/reference/oci8/functions/oci-close.xml +++ b/reference/oci8/functions/oci-close.xml @@ -1,5 +1,5 @@ - + @@ -221,13 +221,6 @@ print $r; // отображает возвращенное функцией з базой данных, созданные функцией oci_pconnect. - - - В версиях PHP до 5.0.0 необходимо использовать - ocilogoff вместо этой функции. &oci.name.compat.note; - - - diff --git a/reference/oci8/functions/oci-commit.xml b/reference/oci8/functions/oci-commit.xml index 4e14b0406..e82dc4e8f 100644 --- a/reference/oci8/functions/oci-commit.xml +++ b/reference/oci8/functions/oci-commit.xml @@ -1,5 +1,5 @@ - + @@ -126,13 +126,6 @@ if (!r) { транзакцию. - - - В версиях PHP до 5.0.0 необходимо использовать - ocicommit вместо данной функции. - &oci.name.compat.note; - - diff --git a/reference/oci8/functions/oci-connect.xml b/reference/oci8/functions/oci-connect.xml index f55453b2a..5fd588c28 100644 --- a/reference/oci8/functions/oci-connect.xml +++ b/reference/oci8/functions/oci-connect.xml @@ -1,5 +1,5 @@ - + @@ -317,12 +317,6 @@ echo "c2 is $c2
\n"; решения проблем. - - - В PHP версиях до 5.0.0 рекомендуется использовать ocilogon. - &oci.name.compat.note; - -
diff --git a/reference/oci8/functions/oci-define-by-name.xml b/reference/oci8/functions/oci-define-by-name.xml index 2c58b89d5..c863c0934 100644 --- a/reference/oci8/functions/oci-define-by-name.xml +++ b/reference/oci8/functions/oci-define-by-name.xml @@ -1,5 +1,5 @@ - + @@ -270,17 +270,6 @@ oci_close($conn); - - &reftitle.notes; - - - В версиях PHP до 5.0.0 рекомендуется использование - ocidefinebyname. - &oci.name.compat.note; - - - - &reftitle.seealso; diff --git a/reference/oci8/functions/oci-error.xml b/reference/oci8/functions/oci-error.xml index 83924d7a0..398e5f47b 100644 --- a/reference/oci8/functions/oci-error.xml +++ b/reference/oci8/functions/oci-error.xml @@ -1,5 +1,5 @@ - + @@ -180,17 +180,6 @@ if (!$r) { - - - &reftitle.notes; - - - В версиях PHP до 5.0.0 необходимо взамен использовать функцию - ocierror. &oci.name.compat.note; - - - -
+ @@ -267,12 +267,6 @@ for ($i = 1; $i <= oci_num_fields($stid); ++$i) { локальная oci_parse их не находит. - - - В PHP до версии 5.0.0 используйте ociexecute. - &oci.name.compat.note; - - diff --git a/reference/oci8/functions/oci-fetch-all.xml b/reference/oci8/functions/oci-fetch-all.xml index 14d27cc99..3a6b3b79d 100644 --- a/reference/oci8/functions/oci-fetch-all.xml +++ b/reference/oci8/functions/oci-fetch-all.xml @@ -1,5 +1,5 @@ - + @@ -344,8 +344,8 @@ oci_close($conn); - В версиях PHP до 5.0.0 необходимо использовать - ocifetchstatement. &oci.name.compat.note; + Не возвращает ряды для неявных результирующих наборов в Oracle Database 12c. + Используйте вместо данной функции функцию oci_fetch_array. diff --git a/reference/oci8/functions/oci-fetch.xml b/reference/oci8/functions/oci-fetch.xml index d99c77c6c..e2accb249 100644 --- a/reference/oci8/functions/oci-fetch.xml +++ b/reference/oci8/functions/oci-fetch.xml @@ -1,5 +1,5 @@ - + @@ -131,8 +131,8 @@ oci_close($conn); &reftitle.notes; - В версиях PHP до 5.0.0 используйте ocifetch. - &oci.name.compat.note; + Не возвращает ряды для неявных результирующих наборов в Oracle Database 12c. + Используйте вместо данной функции функцию oci_fetch_array. diff --git a/reference/oci8/functions/oci-new-connect.xml b/reference/oci8/functions/oci-new-connect.xml index 6ee9c2318..a617952fc 100644 --- a/reference/oci8/functions/oci-new-connect.xml +++ b/reference/oci8/functions/oci-new-connect.xml @@ -88,107 +88,53 @@
";
-$db = "";
 
-$c1 = oci_connect("scott", "tiger", $db);
-$c2 = oci_new_connect("scott", "tiger", $db);
+// create table mytab (mycol number);
 
-function create_table($conn)
+function query($name, $c)
 {
-  $stmt = oci_parse($conn, "create table scott.hallo (test
-varchar2(64))");
-  oci_execute($stmt);
-  echo $conn . " created table\n\n";
+    echo "Querying $name\n";
+    $s = oci_parse($c, "select * from mytab");
+    oci_execute($s, OCI_NO_AUTO_COMMIT);
+    $row = oci_fetch_array($s, OCI_ASSOC);
+    if (!$row) {
+        echo "No rows\n";
+    } else {
+        do {
+            foreach ($row as $item)
+                echo $item . " ";
+            echo "\n";
+        } while (($row = oci_fetch_array($s, OCI_ASSOC)) != false);
+    }
 }
 
-function drop_table($conn)
-{
-  $stmt = oci_parse($conn, "drop table scott.hallo");
-  oci_execute($stmt);
-  echo $conn . " dropped table\n\n";
-}
+$c1 = oci_connect("hr", "welcome", "localhost/orcl");
+$c2 = oci_new_connect("hr", "welcome", "localhost/orcl");
 
-function insert_data($conn)
-{
-  $stmt = oci_parse($conn, "insert into scott.hallo
-            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
-  oci_execute($stmt, OCI_DEFAULT);
-  echo $conn . " inserted hallo\n\n";
-}
+$s = oci_parse($c1, "insert into mytab values(1234)");
+oci_execute($s, OCI_NO_AUTO_COMMIT);
 
-function delete_data($conn)
-{
-  $stmt = oci_parse($conn, "delete from scott.hallo");
-  oci_execute($stmt, OCI_DEFAULT);
-  echo $conn . " deleted hallo\n\n";
-}
+query("basic connection", $c1);
+query("new connection", $c2);
+oci_commit($c1);
+query("new connection after commit", $c2);
 
-function commit($conn)
-{
-  oci_commit($conn);
-  echo $conn . " committed\n\n";
-}
+// Output is:
+//   Querying basic connection
+//   1234 
+//   Querying new connection
+//   No rows
+//   Querying new connection after commit
+//   1234 
 
-function rollback($conn)
-{
-  oci_rollback($conn);
-  echo $conn . " rollback\n\n";
-}
-
-function select_data($conn)
-{
-  $stmt = oci_parse($conn, "select * from scott.hallo");
-  oci_execute($stmt, OCI_DEFAULT);
-  echo $conn . "----selecting\n\n";
-  while (oci_fetch($stmt)) {
-    echo $conn . " <" . oci_result($stmt, "TEST") . ">\n\n";
-  }
-  echo $conn . "----done\n\n";
-}
-
-create_table($c1);
-insert_data($c1);
-
-select_data($c1);
-select_data($c2);
-
-rollback($c1);
-
-select_data($c1);
-select_data($c2);
-
-insert_data($c2);
-commit($c2);
-
-select_data($c1);
-
-delete_data($c1);
-select_data($c1);
-select_data($c2);
-commit($c1);
-
-select_data($c1);
-select_data($c2);
-
-drop_table($c1);
-echo "
"; ?> ]]>
- - - - &reftitle.notes; - - - В версиях PHP ниже 5.0.0 необходимо - использовать функцию ocinlogon. - &oci.name.compat.note; - - + + Дополнительные примеры можно найти в описании функции oci_connect. + diff --git a/reference/oci8/functions/oci-pconnect.xml b/reference/oci8/functions/oci-pconnect.xml index f41e01a48..cb8f9bb61 100644 --- a/reference/oci8/functions/oci-pconnect.xml +++ b/reference/oci8/functions/oci-pconnect.xml @@ -1,5 +1,5 @@ - + @@ -78,26 +78,60 @@ Возвращает идентификатор подключения или &false; в случае ошибки. + + + + &reftitle.examples; + + + Простой пример для <function>oci_pconnect</function> с использованием упрощенного синтаксиса подключения + +\n"; +while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { + echo "\n"; + foreach ($row as $item) { + echo " " . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "\n"; + } + echo "\n"; +} +echo "\n"; + +?> +]]> + + + + + Дополнительные примеры можно найти в описании функции oci_connect. + + &reftitle.notes; - Начиная с версии PHP 5.1.2 и PECL oci8 1.1, продолжительность и - максимальное количество постоянных соединений к серверу Oracle + Начиная с версии PHP 5.1.2 и PECL OCI8 1.1, продолжительность и + максимальное количество постоянных соединений к серверу Oracle на каждый процесс PHP может быть изменено в следующих диррективах: oci8.persistent_timeout, oci8.ping_interval и oci8.max_persistent. - - - В версиях PHP ниже 5.0.0 следует использовать ociplogon. - &oci.name.compat.note; - - diff --git a/reference/oci8/functions/oci-rollback.xml b/reference/oci8/functions/oci-rollback.xml index a59e6eb21..a3f030895 100644 --- a/reference/oci8/functions/oci-rollback.xml +++ b/reference/oci8/functions/oci-rollback.xml @@ -1,5 +1,5 @@ - + @@ -153,13 +153,6 @@ oci_commit($conn); // mytab теперь содержит id равные 1111 транзакцию. - - - В версиях PHP до 5.0.0 необходимо использовать - ocirollback вместо данной функции. - &oci.name.compat.note; - - diff --git a/reference/oci8/functions/oci-set-prefetch.xml b/reference/oci8/functions/oci-set-prefetch.xml index 5486c4451..8591d173c 100644 --- a/reference/oci8/functions/oci-set-prefetch.xml +++ b/reference/oci8/functions/oci-set-prefetch.xml @@ -1,5 +1,5 @@ - + @@ -51,12 +51,11 @@ результата запроса. - Предварительная выборка запросов появилась в Oracle 8i. Предварительная - выборка REF CURSOR появилась в Oracle 11gR2 и может быть применена - в случае, если PHP слинкован с клиентскими библиотеками Oracle 11gR2 - и работает с 11gR2 или предыдущими версиями базы данных. Предварительная - выборка вложенных курсоров была добавлена в Oracle 11gR2 и требует - наличия версии 11gR2 как для клиентских библиотек Oracle, так и для + Предварительная выборка запросов появилась в Oracle 8i. Предварительная + выборка REF CURSOR появилась в Oracle 11gR2 и может быть применена + в случае, если PHP слинкован с клиентскими библиотеками Oracle 11gR2 и старше. + Предварительная выборка вложенных курсоров была добавлена в Oracle 11gR2 и требует + наличия версии 11gR2 и старше как для клиентских библиотек Oracle, так и для используемой базы данных. @@ -65,6 +64,12 @@ во всех ситуациях, не поддерживающих предварительную выборку, будет использована построчная выборка. + + При использовании Oracle Database 12c, + предварительная выборка заданная PHP может быть изменена конфигурационным файлом + oraaccess.xml клиента Oracle. Обратитесь + к документации Oracle за дополнительной информацией. + @@ -186,7 +191,7 @@ oci_execute($stid); // Меняем размер предварительной выборки перед запуском курсора. // Предварительная выборка REF CURSOR работает в случае линковки PHP -// с клиентскими библиотеками Oracle 11gR2 +// с клиентскими библиотеками Oracle 11gR2 и старше oci_set_prefetch($refcur, 200); oci_execute($refcur); @@ -253,16 +258,6 @@ oci_execute($stid); - - &reftitle.notes; - - - В версиях PHP до 5.0.0 необходимо использовать - ocisetprefetch вместо этой функции. &oci.name.compat.note; - - - - &reftitle.seealso; diff --git a/reference/oci8/functions/oci-statement-type.xml b/reference/oci8/functions/oci-statement-type.xml index 5cfa71e4e..66a7bd04e 100644 --- a/reference/oci8/functions/oci-statement-type.xml +++ b/reference/oci8/functions/oci-statement-type.xml @@ -1,5 +1,5 @@ - + @@ -133,17 +133,6 @@ oci_close($conn); - - &reftitle.notes; - - - В PHP до версии 5.0.0 необходимо использовать - метод ocistatementtype. - &oci.name.compat.note; - - - -