Skip to content

Commit

Permalink
Sync some more files with EN
Browse files Browse the repository at this point in the history
  • Loading branch information
Sobak committed May 24, 2024
1 parent a7875eb commit c06176e
Show file tree
Hide file tree
Showing 9 changed files with 473 additions and 280 deletions.
82 changes: 16 additions & 66 deletions language/control-structures/foreach.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 75fb719c3c051fdd62a704bc110197edcba8f532 Maintainer: sobak Status: ready -->
<!-- EN-Revision: e49940b757b35b8ef26bb64380c231eda7b49fc4 Maintainer: sobak Status: ready -->
<!-- $Revision$ -->

<sect1 xml:id="control-structures.foreach" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title><literal>foreach</literal></title>
<title>foreach</title>
<?phpdoc print-version-for="foreach"?>
<para>
Konstrukcja <literal>foreach</literal> umożliwia łatwy sposób do
Expand All @@ -14,46 +14,33 @@
<informalexample>
<programlisting>
<![CDATA[
foreach (wyrażenie_tablicy as $wartość)
foreach (wyrażenie_iterowalne as $wartość)
statement
foreach (wyrażenie_tablicy as $klucz => $wartość)
foreach (wyrażenie_iterowalne as $klucz => $wartość)
statement
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Pierwsza forma przechodzi przez tablicę podaną jako
Pierwsza forma przechodzi przez iterowalny element podany jako
<literal>wyrażenie_tablicy</literal>. Przy każdej iteracji, wartość
obecnego elementu jest przypisywana do zmiennej <literal>$wartość</literal>, a
wewnętrzny wskaźnik tablicy jest zwiększany o jeden (tak więc przy następnej
iteracji, w zmiennej znajdzie się kolejny element).
obecnego elementu jest przypisywana do zmiennej <literal>$wartość</literal>.
</simpara>
<simpara>
Druga forma dodatkowo przypisze klucz aktualnego elementu
do zmiennej <literal>$klucz</literal> przy każdej iteracji.
</simpara>
<simpara>
Zauważ że <literal>foreach</literal> nie zmienia wewnętrznego wskaźnika
tablicy, który jest wykorzystywany przez takie funkcje, jak <function>current</function>
i <function>key</function>.
</simpara>
<simpara>
Jest możliwe
<link linkend="language.oop5.iterations">dostosowywanie iteracji obiektów</link>.
<link linkend="language.oop5.iterations">zdefiniowane własnej iteracji obiektów</link>.
</simpara>
<para>
<note>
<para>
W PHP 5, kiedy rozpoczyna się wykonywanie <literal>foreach</literal>,
wewnętrzny wskaźnik tablicy jest automatycznie resetowany do pierwszego elementu
tablicy. Oznacza to, że nie musisz wykonywać funkcji
<function>reset</function> przed pętlą <literal>foreach</literal>.
</para>
<para>
Jako że w PHP 5 <literal>foreach</literal> korzysta z wewnętrznego wskaźnika tablicy, jego
zmiana wewnątrz pętli może prowadzić do nieoczekiwanych wyników.
</para>
<para>
W PHP 7 <literal>foreach</literal> nie korzysta z wewnętrznego wskaźnika tablicy.
</para>
</note>
</para>

<para>
Aby być w stanie bezpośrednio modyfikować elementy tablicy w pęli, poprzedź
<literal>$wartość</literal> znakiem &amp;. W tym wypadku wartość zostanie przypisana
Expand Down Expand Up @@ -111,8 +98,7 @@ foreach ($arr as $key => $value) {
</informalexample>
</warning>
<para>
Przed wersją PHP 5.5.0 referencja zmiennej <literal>$wartość</literal> jest możliwa tylko jeśli iterowana tablica
może być zreferencjonowana (np. jeżeli jest zmienną). Poniższy kod nie zadziała:
Możliwe jest iterowanie po stałej wartości tablicy przez referencję:
<informalexample>
<programlisting role="php">
<![CDATA[
Expand All @@ -129,7 +115,8 @@ foreach (array(1, 2, 3, 4) as &$value) {
<note>
<para>
<literal>foreach</literal> nie wspiera tłumienia
wiadomości błędów przez '@'.
wiadomości błędów przy użyciu
<literal linkend="language.operators.errorcontrol">@</literal>.
</para>
</note>
</para>
Expand Down Expand Up @@ -300,43 +287,6 @@ A: 3; B: 4; C:
</para>
</sect2>

<sect2 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
<literal>foreach</literal> nie korzysta więcej z wewnętrznego wskaźnika tablicy.
</entry>
</row>
<row>
<entry>5.5.0</entry>
<entry>
Wspierana jest referencja <literal>$wartości</literal> dla wyrażeń.
Wcześniej były wspierane tylko zmienne.
</entry>
</row>
<row>
<entry>5.5.0</entry>
<entry>
Wspierane jest rozpakowywanie zagnieżdżonych tablic przy użyciu <function>list</function>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>

</sect1>

<!-- Keep this comment at the end of the file
Expand Down
52 changes: 51 additions & 1 deletion language/predefined/variables/globals.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: cb0630b14901459c0bf1556e7d68f1b4c0d3796e Maintainer: sobak Status: ready -->
<!-- EN-Revision: a6d209f4ff71ccba3f1255902827f5df3e092ff9 Maintainer: sobak Status: ready -->
<!-- $Revision$ -->

<refentry role="variable" xml:id="reserved.variables.globals" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand Down Expand Up @@ -46,6 +46,28 @@ $foo w zasięgu lokalnym: lokalna zmienna
</screen>
</example>
</para>
<warning>
<para>
Począwszy od PHP 8.1.0 nie jest wspierany już zapis do całości tablicy <varname>$GLOBALS</varname>:
<example xml:id="variable.globals.entire_write_error">
<title>Zapis całości <varname>$GLOBALS</varname> skutkuje błędem.</title>
<programlisting role="php">
<![CDATA[
<?php
// Powoduje błąd czasu kompilacji:
$GLOBALS = [];
$GLOBALS += [];
$GLOBALS =& $x;
$x =& $GLOBALS;
unset($GLOBALS);
array_pop($GLOBALS);
// ...i dowolne inne operacje zapisu/odczytu-zapisu na $GLOBALS
?>
]]>
</programlisting>
</example>
</para>
</warning>
</refsect1>

<refsect1 role="notes">
Expand All @@ -58,6 +80,34 @@ $foo w zasięgu lokalnym: lokalna zmienna
<varname>$GLOBALS</varname> była od zawsze dostępna w PHP.
</para>
</note>
<note>
<para>
Od PHP 8.1.0 <varname>$GLOBALS</varname> jest kopią tylko do odczytu globalnej tablicy symboli. To znaczy, że zmienne globalne nie mogą być zmodyfikowane przez jej kopię. Wcześniej tablica <varname>$GLOBALS</varname> była wykluczona ze standardowego zachowania PHP, w którym tablice są przekazywane przez wartość. Zmienne globalne mogły być modyfikowane przez ich kopię.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
// Przed PHP 8.1.0
$a = 1;
$globals = $GLOBALS; // Ostensibly by-value copy
$globals['a'] = 2;
var_dump($a); // int(2)
// Od PHP 8.1.0
// ten kod nie modyfikuje już $a. Poprzednie zachowanie naruszało semantykę przekazywania tablic przez wartość.
$globals = $GLOBALS;
$globals['a'] = 1;
// Aby odtworzyć poprzednie zachowanie, możesz przeiterować po kopii i przypisać wszystkie wartości z powrotem do $GLOBALS
foreach ($globals as $key => $value) {
$GLOBALS[$key] = $value;
}
?>
]]>
</programlisting>
</informalexample>
</para>
</note>
</refsect1>

</refentry>
Expand Down
48 changes: 47 additions & 1 deletion language/predefined/variables/phperrormsg.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 028513e94be0922956387803e75b575973539254 Maintainer: sobak Status: ready -->
<!-- EN-Revision: a6d209f4ff71ccba3f1255902827f5df3e092ff9 Maintainer: sobak Status: ready -->
<!-- $Revision$ -->

<refentry role="variable" xml:id="reserved.variables.phperrormsg" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand All @@ -10,6 +10,9 @@

<refsynopsisdiv>
&warn.deprecated.feature-7-2-0;
<simpara>
Zamiast tego <function>error_get_last</function>.
</simpara>
</refsynopsisdiv>

<refsect1 role="description">
Expand All @@ -30,6 +33,40 @@
</simpara>
</warning>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Dyrektywa <link linkend="ini.track-errors">track_errors</link>, która
powodowała, że <varname>$php_errormsg</varname> jest dostępna, została
usunięta.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Dyrektywa <link linkend="ini.track-errors">track_errors</link>, która
powodowała, że <varname>$php_errormsg</varname> jest dostępna, jest
przestarzała.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
Expand All @@ -53,6 +90,15 @@ Wrong parameter count for strpos()
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>error_get_last</function></member>
</simplelist>
</para>
</refsect1>

</refentry>

Expand Down
43 changes: 11 additions & 32 deletions reference/apache/functions/apache-child-terminate.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 84b8fca68fc762fefe85acde180a38b2e77a28b9 Maintainer: sobak Status: ready -->
<!-- EN-Revision: f3b9d85f71934d6814a493fabb367e10731e0394 Maintainer: sobak Status: ready -->
<!-- $Revision$ -->
<!-- CREDITS: qrak -->
<refentry xml:id="function.apache-child-terminate" xmlns="http://docbook.org/ns/docbook">
Expand All @@ -11,7 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apache_child_terminate</methodname>
<type>void</type><methodname>apache_child_terminate</methodname>
<void/>
</methodsynopsis>
<para>
Expand All @@ -22,41 +22,20 @@
skryptu o dużych zapotrzebowaniach na pamięć, gdyż zwykle pamięć zostaje
zwolniona wewnętrznie, ale nie zwrócona systemowi operacyjnemu.
</para>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Zwraca &true; jeżeli PHP jest uruchamiany jako moduł Apache 1, wersja Apache
nie jest wielowątkowa i dyrektywa
<link linkend="ini.child-terminate">child_terminate</link> jest włączona
(domyślnie wyłączona). Jeżeli te warunki nie zostały spełnione, zwracany jest &false;
i generowany jest błąd <constant>E_WARNING</constant>.
Działa dla serwerów Apache i FastCGI.
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.4.0</entry>
<entry>
Ta funkcja stała się dostępna pod FastCGI. Wcześniej, była
wspierana tylko gdy PHP zostało zainstalowane jako moduł Apache.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
&return.void;
</para>
</refsect1>

Expand Down
Loading

0 comments on commit c06176e

Please sign in to comment.