Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions language/predefined/backedenum/from.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: grzesiek Status: ready -->
<!-- $Revision$ -->
<refentry xml:id="backedenum.from" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>BackedEnum::from</refname>
<refpurpose>Mapuje skalar na instancję enum</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="BackedEnum">
<modifier>public</modifier> <modifier>static</modifier> <type>static</type><methodname>BackedEnum::from</methodname>
<methodparam><type class="union"><type>int</type><type>string</type></type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Metoda <methodname>from</methodname> tłumaczy ciąg znaków <type>string</type> lub liczbę całkowitą <type>int</type>
na odpowiedni przypadek Enuma, jeśli taki istnieje. Jeśli nie zdefiniowano pasującego przypadku,
zostanie zgłoszony błąd<classname>ValueError</classname>.
</para>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Wartość skalarna do mapowania na przypadek enuma.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Instancja przypadku tego wyliczenia.
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Podstawowe użycie</title>
<para>
Poniższy przykład ilustruje sposób zwracania przypadków enum.
</para>
<programlisting role="php">
<![CDATA[
<?php
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

$h = Suit::from('H');

var_dump($h);

$b = Suit::from('B');
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
enum(Suit::Hearts)

Fatal error: Uncaught ValueError: "B" is not a valid backing value for enum "Suit" in /file.php:15
]]>
</screen>
</example>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>UnitEnum::cases</methodname></member>
<member><methodname>BackedEnum::tryFrom</methodname></member>
</simplelist>
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
113 changes: 113 additions & 0 deletions language/predefined/backedenum/tryfrom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: grzesiek Status: ready -->
<!-- $Revision$ -->
<refentry xml:id="backedenum.tryfrom" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>BackedEnum::tryFrom</refname>
<refpurpose>Mapuje skalar na instancję enum lub null</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="BackedEnum">
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>static</type><type>null</type></type><methodname>BackedEnum::tryFrom</methodname>
<methodparam><type class="union"><type>int</type><type>string</type></type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Metoda <methodname>tryFrom</methodname> tłumaczy ciąg znaków <type>string</type> lub liczbę całkowitą <type>int</type>
na odpowiedni przypadek Enum, jeśli taki istnieje. Jeśli nie ma zdefiniowanego pasującego przypadku,
zwróci wartość null.
</para>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Wartość skalarna do mapowania na przypadek enum.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Instancja przypadku tego wyliczenia lub <type>null</type>, jeśli nie został znaleziony.
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Podstawowe użycie</title>
<para>
Poniższy przykład ilustruje sposób zwracania przypadków enum.
</para>
<programlisting role="php">
<![CDATA[
<?php
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

$h = Suit::tryFrom('H');

var_dump($h);

$b = Suit::tryFrom('B') ?? Suit::Spades;

var_dump($b);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
enum(Suit::Hearts)
enum(Suit::Spades)
]]>
</screen>
</example>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>UnitEnum::cases</methodname></member>
<member><methodname>BackedEnum::from</methodname></member>
</simplelist>
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
133 changes: 133 additions & 0 deletions language/predefined/closure/bind.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: grzesiek Status: ready -->
<!-- $Revision$ -->
<refentry xml:id="closure.bind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Closure::bind</refname>
<refpurpose>
Duplikuje domknięcie z określonym powiązanym obiektem i zakresem klasy
</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="Closure">
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>Closure</type><type>null</type></type><methodname>Closure::bind</methodname>
<methodparam><type>Closure</type><parameter>closure</parameter></methodparam>
<methodparam><type class="union"><type>object</type><type>null</type></type><parameter>newThis</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>object</type><type>string</type><type>null</type></type><parameter>newScope</parameter><initializer>"static"</initializer></methodparam>
</methodsynopsis>
<para>
Ta metoda jest statyczną wersją metody <methodname>Closure::bindTo</methodname>.
Więcej informacji można znaleźć w dokumentacji tej metody.
</para>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>closure</parameter></term>
<listitem>
<para>
Funkcje anonimowe do powiązania.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newThis</parameter></term>
<listitem>
<para>
Obiekt, z którym dana funkcja anonimowa powinna być powiązana lub
&null;, aby domknięcie nie było powiązane.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newScope</parameter></term>
<listitem>
<para>
Zakres klasy, z którą ma być powiązane domknięcie lub
'static', aby zachować bieżący. Jeśli podano obiekt,
zamiast tego zostanie użyty typ obiektu. Określa to widoczność chronionych
i prywatnych metod powiązanego obiektu.
Niedozwolone jest przekazywanie (obiektu) klasy wewnętrznej jako tego parametru.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Zwraca nowy obiekt <classname>Closure</classname> object lub &null; przy niepowodzeniu.
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Przykład <function>Closure::bind</function></title>
<programlisting role="php">
<![CDATA[
<?php
class A {
private static $sfoo = 1;
private $ifoo = 2;
}
$cl1 = static function() {
return A::$sfoo;
};
$cl2 = function() {
return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
1
2
]]>
</screen>
</example>
</refsect1>


<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><link linkend="functions.anonymous">Funkcje anonimowe</link></member>
<member><methodname>Closure::bindTo</methodname></member>
</simplelist>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Loading
Loading