Skip to content

Commit

Permalink
Fix #81065: Changes to Reflection modifiers not documented
Browse files Browse the repository at this point in the history
  • Loading branch information
mumumu committed May 23, 2021
1 parent bf00ac7 commit b328f5e
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 26 deletions.
7 changes: 6 additions & 1 deletion appendices/migration74/incompatible.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 19af072c3eb88de9b99be2e982af8949f0b68a95 Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: mumumu Status: ready -->

<sect1 xml:id="migration74.incompatible" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>下位互換性のない変更点</title>
Expand Down Expand Up @@ -253,6 +253,11 @@
ではなく <classname>Exception</classname>
が生成されるようになりました。これは、シリアル化をサポートしていない他の内部的なクラスと一貫した挙動です。
</para>

<para>
<classname>ReflectionClassConstant</classname>,
<classname>ReflectionMethod</classname>, <classname>ReflectionProperty</classname> のクラス定数の値が変更されました。
</para>
</sect2>

<sect2 xml:id="migration74.incompatible.reflection">
Expand Down
15 changes: 14 additions & 1 deletion reference/reflection/reflectionclassconstant.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 98df2cf9a939729d73adee1484ec05929c74c98b Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: mumumu Status: ready -->

<phpdoc:classref xml:id="class.reflectionclassconstant" xmlns:phpdoc="http://php.net/ns/phpdoc" 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 @@ -41,16 +41,19 @@
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionclassconstant.constants.is-public">ReflectionClassConstant::IS_PUBLIC</varname>
<initializer>1</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionclassconstant.constants.is-protected">ReflectionClassConstant::IS_PROTECTED</varname>
<initializer>2</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionclassconstant.constants.is-private">ReflectionClassConstant::IS_PRIVATE</varname>
<initializer>4</initializer>
</fieldsynopsis>

<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
Expand Down Expand Up @@ -113,6 +116,7 @@
<listitem>
<para>
アクセス権が <link linkend="language.oop5.visibility">public</link> であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>256</literal> でした。
</para>
</listitem>
</varlistentry>
Expand All @@ -122,6 +126,7 @@
<listitem>
<para>
アクセス権が <link linkend="language.oop5.visibility">protected</link> であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>512</literal> でした。
</para>
</listitem>
</varlistentry>
Expand All @@ -131,11 +136,19 @@
<listitem>
<para>
アクセス権が <link linkend="language.oop5.visibility">private</link> であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>1024</literal> でした。
</para>
</listitem>
</varlistentry>

</variablelist>
<note>
<para>
これらの定数の値は、PHP のバージョンが異なると変更される可能性があります。
これらの値を直接用いず、常に定数を使うことを推奨します。
</para>
</note>

</section>
</section>
<!-- }}} -->
Expand Down
4 changes: 2 additions & 2 deletions reference/reflection/reflectionclassconstant/getmodifiers.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cf616ef1f0bd14778a591210de8a231fa564e863 Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: mumumu Status: ready -->

<refentry xml:id="reflectionclassconstant.getmodifiers" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand Down Expand Up @@ -29,7 +29,7 @@
<para>
アクセス修飾子の数値表現を返します。
これらの修飾子の実際の意味は、
<link linkend="reflectionmethod.constants.modifiers">定義済みの定数</link> で説明しています。
<link linkend="reflectionclassconstant.constants.modifiers">定義済みの定数</link> で説明しています。
</para>
</refsect1>

Expand Down
50 changes: 37 additions & 13 deletions reference/reflection/reflectionmethod.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 98df2cf9a939729d73adee1484ec05929c74c98b Maintainer: takagi Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: takagi Status: ready -->

<phpdoc:classref xml:id="class.reflectionmethod" xmlns:phpdoc="http://php.net/ns/phpdoc" 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 @@ -47,37 +47,37 @@
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-static">ReflectionMethod::IS_STATIC</varname>
<initializer>1</initializer>
<initializer>16</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-public">ReflectionMethod::IS_PUBLIC</varname>
<initializer>256</initializer>
<initializer>1</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-protected">ReflectionMethod::IS_PROTECTED</varname>
<initializer>512</initializer>
<initializer>2</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-private">ReflectionMethod::IS_PRIVATE</varname>
<initializer>1024</initializer>
<initializer>4</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-abstract">ReflectionMethod::IS_ABSTRACT</varname>
<initializer>2</initializer>
<initializer>64</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionmethod.constants.is-final">ReflectionMethod::IS_FINAL</varname>
<initializer>4</initializer>
<initializer>32</initializer>
</fieldsynopsis>

<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
Expand Down Expand Up @@ -137,46 +137,70 @@
<varlistentry xml:id="reflectionmethod.constants.is-static">
<term><constant>ReflectionMethod::IS_STATIC</constant></term>
<listitem>
<para>メソッドが static であることを示します。</para>
<para>
メソッドが static であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>1</literal> でした。
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="reflectionmethod.constants.is-public">
<term><constant>ReflectionMethod::IS_PUBLIC</constant></term>
<listitem>
<para>メソッドが public であることを示します。</para>
<para>
メソッドが public であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>256</literal> でした。
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="reflectionmethod.constants.is-protected">
<term><constant>ReflectionMethod::IS_PROTECTED</constant></term>
<listitem>
<para>メソッドが protected であることを示します。</para>
<para>
メソッドが protected であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>512</literal> でした。
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="reflectionmethod.constants.is-private">
<term><constant>ReflectionMethod::IS_PRIVATE</constant></term>
<listitem>
<para>メソッドが private であることを示します。</para>
<para>
メソッドが private であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>1024</literal> でした。
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="reflectionmethod.constants.is-abstract">
<term><constant>ReflectionMethod::IS_ABSTRACT</constant></term>
<listitem>
<para>メソッドが abstract であることを示します。</para>
<para>
メソッドが abstract であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>2</literal> でした。
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="reflectionmethod.constants.is-final">
<term><constant>ReflectionMethod::IS_FINAL</constant></term>
<listitem>
<para>メソッドが final であることを示します。</para>
<para>
メソッドが final であることを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>4</literal> でした。
</para>
</listitem>
</varlistentry>

</variablelist>
<note>
<para>
これらの定数の値は、PHP のバージョンが異なると変更される可能性があります。
これらの値を直接用いず、常に定数を使うことを推奨します。
</para>
</note>
</section>
</section>
<!-- }}} -->
Expand Down
6 changes: 3 additions & 3 deletions reference/reflection/reflectionmethod/getmodifiers.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8c6d47907a700e7d824c6b02108d631e5cc1091f Maintainer: takagi Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: takagi Status: ready -->

<refentry xml:id="reflectionmethod.getmodifiers" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand Down Expand Up @@ -71,10 +71,10 @@ echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
<screen>
<![CDATA[
Modifiers for method foo():
261
49
final public static
Modifiers for method bar():
65792
1
public
]]>
</screen>
Expand Down
20 changes: 15 additions & 5 deletions reference/reflection/reflectionproperty.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 98df2cf9a939729d73adee1484ec05929c74c98b Maintainer: takagi Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->

<phpdoc:classref xml:id="class.reflectionproperty" xmlns:phpdoc="http://php.net/ns/phpdoc" 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 @@ -43,25 +43,25 @@
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionproperty.constants.is-static">ReflectionProperty::IS_STATIC</varname>
<initializer>1</initializer>
<initializer>16</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionproperty.constants.is-public">ReflectionProperty::IS_PUBLIC</varname>
<initializer>256</initializer>
<initializer>1</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionproperty.constants.is-protected">ReflectionProperty::IS_PROTECTED</varname>
<initializer>512</initializer>
<initializer>2</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="reflectionproperty.constants.is-private">ReflectionProperty::IS_PRIVATE</varname>
<initializer>1024</initializer>
<initializer>4</initializer>
</fieldsynopsis>

<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
Expand Down Expand Up @@ -126,6 +126,7 @@
<para>
<link linkend="language.oop5.static">static</link>
プロパティを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>1</literal> でした。
</para>
</listitem>
</varlistentry>
Expand All @@ -136,6 +137,7 @@
<para>
<link linkend="language.oop5.visibility">public</link>
プロパティを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>256</literal> でした。
</para>
</listitem>
</varlistentry>
Expand All @@ -146,6 +148,7 @@
<para>
<link linkend="language.oop5.visibility">protected</link>
プロパティを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>512</literal> でした。
</para>
</listitem>
</varlistentry>
Expand All @@ -156,11 +159,18 @@
<para>
<link linkend="language.oop5.visibility">private</link>
プロパティを示します。
PHP 7.4.0 より前のバージョンでは、この値は <literal>1024</literal> でした。
</para>
</listitem>
</varlistentry>

</variablelist>
<note>
<para>
これらの定数の値は、PHP のバージョンが異なると変更される可能性があります。
これらの値を直接用いず、常に定数を使うことを推奨します。
</para>
</note>
</section>
</section>
<!-- }}} -->
Expand Down
4 changes: 3 additions & 1 deletion reference/reflection/reflectionproperty/getmodifiers.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 584095e7e8433fe22ac21019af4de7a10fcd1d36 Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 6f41560bf19de74e2dfbc78f4175d35f5b378abe Maintainer: mumumu Status: ready -->

<refentry xml:id="reflectionproperty.getmodifiers" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
Expand Down Expand Up @@ -31,6 +31,8 @@
&reftitle.returnvalues;
<para>
修飾子の数値表現を返します。
これらの修飾子の実際の意味は、
<link linkend="reflectionproperty.constants.modifiers">定義済みの定数</link> で説明しています。
</para>
</refsect1>

Expand Down

0 comments on commit b328f5e

Please sign in to comment.