svn: /phpdoc/bg/trunk/reference/session/functions/ session-start.xml

[email protected] (Stanislav Yordanov) Sun, 12 Jun 2016 17:51:11 +0000
Newsgroups php.doc.bg
Message-ID <[email protected]>
stanprog                                 Sun, 12 Jun 2016 17:51:11 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=339324

Log:
sync with EN

Changed paths:
    U   phpdoc/bg/trunk/reference/session/functions/session-start.xml
svn-diffs-339324.txt (text/x-diff, 11.4 KB)
Modified: phpdoc/bg/trunk/reference/session/functions/session-start.xml
===================================================================
--- phpdoc/bg/trunk/reference/session/functions/session-start.xml	2016-06-12 15:50:55 UTC (rev 339323)
+++ phpdoc/bg/trunk/reference/session/functions/session-start.xml	2016-06-12 17:51:11 UTC (rev 339324)
@@ -1,17 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: pemitev Status: ready -->
-<refentry xml:id="function.session-start" xmlns="http://docbook.org/ns/docbook">
+<!-- EN-Revision: 337868 Maintainer: stanprog Status: ready -->
+<!-- CREDITS: pemitev -->
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.session-start">
  <refnamediv>
   <refname>session_start</refname>
   <refpurpose>Инициализира сесия</refpurpose>
  </refnamediv>
-
+
  <refsect1 role="description">
   &reftitle.description;
   <methodsynopsis>
    <type>bool</type><methodname>session_start</methodname>
-   <void/>
+   <methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
   </methodsynopsis>
   <para>
    Функцията <function>session_start</function> създава нова сесия или
@@ -19,27 +20,64 @@
    се предава чрез заявка, като GET, POST или бисквитка.
   </para>
   <para>
+   Когато бъде извикана функция <function>session_start</function> или при автоматично активиране на сесията,
+   PHP ще извика манипулаторите за запис на сесията, за отваряне и четене. Те са или вградени
+   манипулатори за запис, осигурено по подразбиранe или чрез PHP разширение (като SQLite или Memcached);
+   може да бъде и потребителски манипулатор, ако такъв е дефиниран чрез <function>session_set_save_handler</function>.
+   Обратно извикващата функция за четене ще извлече всички сесийни данни (съхранявани в специален сериализиран формат),
+   ще ги десериализира и използва за да попълни суперглобалната променлива $_SESSION, когато
+   обратно извикващата функция за четене върне записаните данни обратно към манипулирането на сесии на PHP.
+  </para>
+  <para>
    Ако искате да използвате именувана сесия, трябва да извикате
    <function>session_name</function> преди извикването на
    <function>session_start</function>.
   </para>
   <para>
-   <function>session_start</function> ще регистрира вътрешен манипулатор,
-   извеждащ данни за пренаписването на URL адреса, ако <literal>trans-sid</literal> е
-   разрешен. Ако даден потребител използва <literal>ob_gzhandler</literal> или
-   <function>ob_start</function>, редът на извеждащия манипулатор е важен за
-   коректното извеждане. Например, даден потребител трябва да регистрира
-   <literal>ob_gzhandler</literal> преди да започне сесията.
+   Ако <link linkend="ini.session.use-trans-sid">session.use_trans_sid</link>
+   е включена, функция <function>session_start</function> ще
+   регистрира вътрешен манипулатор на изхода за пренаписване на URL адреси.
+  </para>
+  <para>
+   Ако даден потребител използва функция <literal>ob_gzhandler</literal> или подобна с
+   <function>ob_start</function>, редът на извикването на функциите в важен за
+   правилният изход. Например,
+   <literal>ob_gzhandler</literal> трябва да бъде регистрирана преди началото на сесията.
   </para>
  </refsect1>
-
+
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <variablelist>
+   <varlistentry>
+    <term><parameter>options</parameter></term>
+    <listitem>
+     <para>
+      Ако е предаден, представлява асоциативен масив от опции, които препокриват
+      текущият набор от
+      <link linkend="session.configuration">директиви за конфигуриране на сесията</link>.
+      Ключовете не трябва да съдържат представка <literal>session.</literal>.
+     </para>
+     <para>
+      Освен стандартните конфигурационни директиви, може да бъде
+      установена и опцията <literal>read_and_close</literal>. Ако е установена в
+      &true;, ще доведе до затваряне на сесията веднага, след като е
+      прочетена, като с това се избягва ненужното заключване, ако сесийните данни
+      няма да бъдат променяни.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Тази функция винаги връща &true;, ако сесията е инициализирана успешно, иначе връща &false;.
+   Тази функция винаги връща &true;, ако сесията е инициализирана успешно,
+   иначе връща &false;.
   </para>
  </refsect1>
-
+
  <refsect1 role="changelog">
   &reftitle.changelog;
   <para>
@@ -53,6 +91,12 @@
      </thead>
      <tbody>
       <row>
+       <entry>7.0.0</entry>
+       <entry>
+        Добавен е параметърът <parameter>options</parameter>.
+       </entry>
+      </row>
+      <row>
        <entry>5.3.0</entry>
        <entry>
         Ако по някаква причина сесията не успее да бъде стартирана, се връща &false;,
@@ -73,13 +117,16 @@
    </informaltable>
   </para>
  </refsect1>
-
+
  <refsect1 role="examples">
   &reftitle.examples;
-  <para>
-   <example>
-    <title>Пример за сесия: <filename>page1.php</filename></title>
-    <programlisting role="php">
+  <refsect2>
+   <title>Прост пример за работа със сесии</title>
+
+   <para>
+    <example>
+     <title><filename>page1.php</filename></title>
+     <programlisting role="php">
 <![CDATA[
 <?php
 // page1.php
@@ -92,28 +139,28 @@
 $_SESSION['animal']   = 'cat';
 $_SESSION['time']     = time();

-// Работи, ако сесийната бисктивка е била приета
+// Работи, ако сесийната бисквитка е била приета
 echo '<br /><a href="page2.php">page 2</a>';

 // или просто предава сесийния идентификатор
 echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
 ?>
 ]]>
-    </programlisting>
-   </example>
-  </para>
-  <para>
-   След като прегледате <filename>page1.php</filename>, втората страница
-   <filename>page2.php</filename> ще съдържа информация за сесията.
-   Прочетете <link linkend="ref.session">информацията за сесии</link>
-   свързана с <link linkend="session.idpassing">предаване
-   на сесийни идентификатори</link>, където е обяснено за какво служи
-   константата <constant>SID</constant>.
-  </para>
-  <para>
-   <example>
-    <title>Пример за сесия: <filename>page2.php</filename></title>
-    <programlisting role="php">
+     </programlisting>
+    </example>
+   </para>
+   <para>
+    След като прегледате <filename>page1.php</filename>, втората страница
+    <filename>page2.php</filename> ще съдържа информация за сесията.
+    Прочетете <link linkend="ref.session">информацията за сесии</link>
+    свързана с <link linkend="session.idpassing">предаване
+    на сесийни идентификатори</link>, където е обяснено за какво служи
+    константата <constant>SID</constant>.
+   </para>
+   <para>
+    <example>
+     <title><filename>page2.php</filename></title>
+     <programlisting role="php">
 <![CDATA[
 <?php
 // page2.php
@@ -130,18 +177,51 @@
 echo '<br /><a href="page1.php">page 1</a>';
 ?>
 ]]>
+     </programlisting>
+    </example>
+   </para>
+  </refsect2>
+  <refsect2>
+   <title>Предаване на параметри към <function>session_start</function></title>
+
+   <example>
+    <title>Предефиниране на валидността на бисквитка</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+// Изпраща постоянна бисквитка, която е валидна един ден.
+session_start([
+    'cookie_lifetime' => 86400,
+]);
+?>
+]]>
     </programlisting>
    </example>
-  </para>
+
+   <example>
+    <title>Четене и приключване на сесия</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+// If we know we don't need to change anything in the
+// session, we can just read and close rightaway to avoid
+// locking the session file and blocking other pages
+session_start([
+    'cookie_lifetime' => 86400,
+    'read_and_close'  => true,
+]);
+]]>
+    </programlisting>
+   </example>
+  </refsect2>
  </refsect1>
-
+
  <refsect1 role="notes">
   &reftitle.notes;
   <note>
    <para>
     Ако използвате сесии базирани на бисквитки, трябва да извикате
-    <function>session_start</function> преди какъвто и да е
-    изход.
+    <function>session_start</function> преди какъвто и да е изход.
    </para>
   </note>
   <note>
@@ -150,21 +230,29 @@
     е препоръчителна пред <function>ob_gzhandler</function>
    </para>
   </note>
+  <note>
+   <para>
+    Тази функция изпраща няколко HTTP заглавки, в зависимост от
+    конфигурацията. Вж. <function>session_cache_limiter</function>
+    за настройване на тези заглавки.
+   </para>
+  </note>
  </refsect1>
-
+
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
     <member><varname>$_SESSION</varname></member>
     <member>
-     Конфигурационната директива <link linkend="ini.session.auto-start">session.auto_start</link>
+     Конфигурационната директива
+     <link linkend="ini.session.auto-start">session.auto_start</link>
     </member>
     <member><function>session_id</function></member>
    </simplelist>
   </para>
  </refsect1>
-
+
 </refentry>

 <!-- Keep this comment at the end of the file