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
14 changes: 13 additions & 1 deletion appendices/ini.core.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a1ab750f296de54d79fe3749d5c9164b0593d803 Maintainer: takagi Status: ready -->
<!-- EN-Revision: ef757b033ba1df823b1ac5176ada439effe4cab4 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,shimooka,mumumu -->

<section xml:id="ini.core" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand Down Expand Up @@ -222,6 +222,12 @@
このディレクティブは &php.ini; で設定しなければなりません。
&httpd.conf; では設定できません。
</simpara>
<warning>
<simpara>
このディレクティブは迂回可能であり、共有ホスティング環境における
十分なセキュリティ対策とはみなすべきではありません。
</simpara>
</warning>
</listitem>
</varlistentry>

Expand All @@ -244,6 +250,12 @@
このディレクティブは &php.ini; で設定しなければなりません。
&httpd.conf; では設定できません。
</simpara>
<warning>
<simpara>
このディレクティブは迂回可能であり、共有ホスティング環境における
十分なセキュリティ対策とはみなすべきではありません。
</simpara>
</warning>
</listitem>
</varlistentry>

Expand Down
12 changes: 11 additions & 1 deletion appendices/migration81/constants.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: e251b5cfdb995dfac897b7f9ed9aa8194f8dc50f Maintainer: mumumu Status: ready -->
<!-- EN-Revision: b3e7b16928a4aee2711ea7e27a0a1036d669c74e Maintainer: mumumu Status: ready -->
<sect1 xml:id="migration81.constants" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>新しいグローバル定数</title>

Expand Down Expand Up @@ -148,6 +148,16 @@
</itemizedlist>
</sect2>

<sect2 xml:id="migration81.constants.standard">
<title>標準ライブラリ</title>

<itemizedlist>
<listitem>
<simpara><constant>IMAGETYPE_AVIF</constant></simpara>
</listitem>
</itemizedlist>
</sect2>

<sect2 xml:id="migration81.constants.tokenizer">
<title>Tokenizer</title>

Expand Down
4 changes: 3 additions & 1 deletion language/enumerations.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 2e5f2910f3a2a95dcbdaf580ba57a0b60b072c2a Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 5744be5a4d239c18d4610581bd32b69a7d82947e Maintainer: mumumu Status: ready -->
<chapter xml:id="language.enumerations" xmlns="http://docbook.org/ns/docbook">
<title>列挙型(Enum)</title>
<sect1 xml:id="language.enumerations.overview">
Expand Down Expand Up @@ -121,6 +121,8 @@ $b = Suit::Spades;
$a === $b; // true

$a instanceof Suit; // true

$a !== 'Spades'; // true
?>
]]>
</programlisting>
Expand Down
212 changes: 111 additions & 101 deletions language/oop5/magic.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5e15a6c3e4d5819102361ae78e73c90a06238c8a Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: 8f51247cb4631b29686f867bd904dfe5b2678074 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->

<sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
Expand Down Expand Up @@ -29,10 +29,10 @@
<link linkend="object.set">__set()</link>,
<link linkend="object.isset">__isset()</link>,
<link linkend="object.unset">__unset()</link>,
<link linkend="object.sleep">__sleep()</link>,
<link linkend="object.wakeup">__wakeup()</link>,
<link linkend="object.serialize">__serialize()</link>,
<link linkend="object.unserialize">__unserialize()</link>,
<link linkend="object.sleep">__sleep()</link>,
<link linkend="object.wakeup">__wakeup()</link>,
<link linkend="object.tostring">__toString()</link>,
<link linkend="object.invoke">__invoke()</link>,
<link linkend="object.set-state">__set_state()</link>,
Expand Down Expand Up @@ -71,104 +71,6 @@
</para>
</warning>

<sect2 xml:id="language.oop5.magic.sleep">
<title>
<link linkend="object.sleep">__sleep()</link> と
<link linkend="object.wakeup">__wakeup()</link>
</title>

<methodsynopsis xml:id="object.sleep">
<modifier>public</modifier> <type>array</type><methodname>__sleep</methodname>
<void/>
</methodsynopsis>
<methodsynopsis xml:id="object.wakeup">
<modifier>public</modifier> <type>void</type><methodname>__wakeup</methodname>
<void/>
</methodsynopsis>

<para>
<function>serialize</function> は、クラスに特殊な名前
<link linkend="object.sleep">__sleep()</link> の関数があるかどうかを調べます。
もしあれば、シリアル化の前にその関数を実行します。
この関数で、オブジェクトをクリアすることができます。
またこの関数は、シリアル化するオブジェクトについて、
すべての変数の名前を配列で返すことが前提となっています。
このメソッドが何も返さなかった場合は、&null;
がシリアル化され、<constant>E_NOTICE</constant> が発生します。
</para>
<note>
<para>
<link linkend="object.sleep">__sleep()</link> で、親クラスの private
プロパティの名前を返すことはできません。
そうしようとすると <constant>E_NOTICE</constant> レベルのエラーとなります。
この場合は、<link linkend="object.serialize">__serialize()</link> を代わりに使って下さい。
</para>
</note>
<note>
<para>
PHP 8.0.0 以降では、
<link linkend="object.sleep">__sleep()</link> から配列でない値を返すと、
E_WARNING が発生するようになりました。これより前のバージョンでは、
E_NOTICE が発生していました。
</para>
</note>
<para>
典型的な <link linkend="object.sleep">__sleep()</link> の使用法は、
途中のデータをコミットしたり、
似たようなタスクのクリアを行うといったものです。
また、オブジェクトが非常に大きく、かつ、完全に保存する必要がない場合、
この関数が有用です。
</para>
<para>
逆に、<function>unserialize</function> は、
特殊な名前 <link linkend="object.wakeup">__wakeup()</link> を有する
関数の存在を調べます。
もし存在する場合、この関数は、オブジェクトが有する可能性が
あるあらゆるリソースを再構築することができます。
</para>
<para>
<link linkend="object.wakeup">__wakeup()</link> の使用目的は、
シリアル化の際に失われたデータベース接続を再度確立したり、
その他の再初期化を行うことです。
</para>
<example>
<title>sleep と wakeup</title>
<programlisting role="php">
<![CDATA[
<?php
class Connection
{
protected $link;
private $dsn, $username, $password;

public function __construct($dsn, $username, $password)
{
$this->dsn = $dsn;
$this->username = $username;
$this->password = $password;
$this->connect();
}

private function connect()
{
$this->link = new PDO($this->dsn, $this->username, $this->password);
}

public function __sleep()
{
return array('dsn', 'username', 'password');
}

public function __wakeup()
{
$this->connect();
}
}?>
]]>
</programlisting>
</example>
</sect2>

<sect2 xml:id="language.oop5.magic.serialize">
<title>
<link linkend="object.serialize">__serialize()</link> と
Expand Down Expand Up @@ -273,6 +175,114 @@ class Connection
</example>
</sect2>

<sect2 xml:id="language.oop5.magic.sleep">
<title>
<link linkend="object.sleep">__sleep()</link> と
<link linkend="object.wakeup">__wakeup()</link>
</title>

<warning>
<simpara>
このシリアル化の仕組みは、PHP 8.5.0 以降 soft-deprecated 扱いになりました。
後方互換性のために維持されていますが、新規コードおよび既存コードは、代わりに
<link linkend="object.serialize">__serialize()</link> と
<link linkend="object.unserialize">__unserialize()</link>
マジックメソッドを使うように移行すべきです。
</simpara>
</warning>

<methodsynopsis xml:id="object.sleep">
<modifier>public</modifier> <type>array</type><methodname>__sleep</methodname>
<void/>
</methodsynopsis>
<methodsynopsis xml:id="object.wakeup">
<modifier>public</modifier> <type>void</type><methodname>__wakeup</methodname>
<void/>
</methodsynopsis>

<para>
<function>serialize</function> は、クラスに特殊な名前
<link linkend="object.sleep">__sleep()</link> の関数があるかどうかを調べます。
もしあれば、シリアル化の前にその関数を実行します。
この関数で、オブジェクトをクリアすることができます。
またこの関数は、シリアル化するオブジェクトについて、
すべての変数の名前を配列で返すことが前提となっています。
このメソッドが何も返さなかった場合は、&null;
がシリアル化され、<constant>E_NOTICE</constant> が発生します。
</para>
<note>
<para>
<link linkend="object.sleep">__sleep()</link> で、親クラスの private
プロパティの名前を返すことはできません。
そうしようとすると <constant>E_NOTICE</constant> レベルのエラーとなります。
この場合は、<link linkend="object.serialize">__serialize()</link> を代わりに使って下さい。
</para>
</note>
<note>
<para>
PHP 8.0.0 以降では、
<link linkend="object.sleep">__sleep()</link> から配列でない値を返すと、
E_WARNING が発生するようになりました。これより前のバージョンでは、
E_NOTICE が発生していました。
</para>
</note>
<para>
典型的な <link linkend="object.sleep">__sleep()</link> の使用法は、
途中のデータをコミットしたり、
似たようなタスクのクリアを行うといったものです。
また、オブジェクトが非常に大きく、かつ、完全に保存する必要がない場合、
この関数が有用です。
</para>
<para>
逆に、<function>unserialize</function> は、
特殊な名前 <link linkend="object.wakeup">__wakeup()</link> を有する
関数の存在を調べます。
もし存在する場合、この関数は、オブジェクトが有する可能性が
あるあらゆるリソースを再構築することができます。
</para>
<para>
<link linkend="object.wakeup">__wakeup()</link> の使用目的は、
シリアル化の際に失われたデータベース接続を再度確立したり、
その他の再初期化を行うことです。
</para>
<example>
<title>sleep と wakeup</title>
<programlisting role="php">
<![CDATA[
<?php
class Connection
{
protected $link;
private $dsn, $username, $password;

public function __construct($dsn, $username, $password)
{
$this->dsn = $dsn;
$this->username = $username;
$this->password = $password;
$this->connect();
}

private function connect()
{
$this->link = new PDO($this->dsn, $this->username, $this->password);
}

public function __sleep()
{
return array('dsn', 'username', 'password');
}

public function __wakeup()
{
$this->connect();
}
}?>
]]>
</programlisting>
</example>
</sect2>

<sect2 xml:id="language.oop5.magic.tostring">
<title><link linkend="object.tostring">__toString()</link></title>
<methodsynopsis xml:id="object.tostring">
Expand Down
3 changes: 2 additions & 1 deletion reference/array/functions/array-rand.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a1dedc24b1e085f298ab1d5dadefe306373691b Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: d6dc2be3c5c70e4a1c3d13f788643ea232747c19 Maintainer: hirokawa Status: ready -->
<!-- Credits: mumumu -->
<refentry xml:id="function.array-rand" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand All @@ -19,6 +19,7 @@
取り出したエントリのキーを返します。
</para>
&caution.cryptographically-insecure;
&caution.mt19937-global-state;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
Expand Down
3 changes: 2 additions & 1 deletion reference/array/functions/shuffle.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f781803449007bb0e3a96c693e0eee067f7eb466 Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: d6dc2be3c5c70e4a1c3d13f788643ea232747c19 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->
<refentry xml:id="function.shuffle" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand All @@ -17,6 +17,7 @@
この関数は、配列をシャッフル (要素の順番をランダムに) します。
</para>
&caution.cryptographically-insecure;
&caution.mt19937-global-state;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
Expand Down
4 changes: 2 additions & 2 deletions reference/datetime/datetimeinterface.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 6bbb5b9685d27ac9df744702e06525047a163d4b Maintainer: takagi Status: ready -->
<!-- EN-Revision: a69d8c2c891e70c03c33cbe251a208dd7d185af9 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<reference xml:id="class.datetimeinterface" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

Expand Down Expand Up @@ -158,7 +158,7 @@
<term><constant>DATE_ATOM</constant></term>
<listitem>
<simpara>
Atom (例: 2005-08-15T15:52:01+00:00)。ISO-8601、RFC 3399、および XML Schema と互換性があります
Atom (例: 2005-08-15T15:52:01+00:00)。ISO-8601、RFC 3339、および XML Schema と互換性があります
</simpara>
</listitem>
</varlistentry>
Expand Down
6 changes: 3 additions & 3 deletions reference/intl/intltimezone/createenumeration.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1976eae0d815797af97a1e16c5cd90ffc2868395 Maintainer: takagi Status: ready -->
<!-- EN-Revision: f7f861700c504afc40c14603d0fa0b36629a87ff Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<refentry xml:id="intltimezone.createenumeration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand All @@ -14,12 +14,12 @@
<para>&style.oop; (method):</para>
<methodsynopsis role="IntlTimeZone">
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>IntlIterator</type><type>false</type></type><methodname>IntlTimeZone::createEnumeration</methodname>
<methodparam choice="opt"><type class="union"><type>IntlTimeZone</type><type>string</type><type>int</type><type>float</type><type>null</type></type><parameter>countryOrRawOffset</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>int</type><type>null</type></type><parameter>countryOrRawOffset</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>&style.procedural;:</para>
<methodsynopsis>
<type class="union"><type>IntlIterator</type><type>false</type></type><methodname>intltz_create_enumeration</methodname>
<methodparam choice="opt"><type class="union"><type>IntlTimeZone</type><type>string</type><type>int</type><type>float</type><type>null</type></type><parameter>countryOrRawOffset</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>int</type><type>null</type></type><parameter>countryOrRawOffset</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>

Expand Down
Loading
Loading