-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathdefined.xml
148 lines (133 loc) · 3.71 KB
/
defined.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 36e1d917ef7be36e8b4ff5193b456390061f2e21 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<refentry xml:id="function.defined" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>defined</refname>
<refpurpose>指定した名前の定数が存在するかどうかを調べる</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>defined</methodname>
<methodparam><type>string</type><parameter>constant_name</parameter></methodparam>
</methodsynopsis>
<para>
<parameter>constant_name</parameter> で指定した定数が定義されているかどうかを調べます。
</para>
<para>
この関数は <link
linkend="language.oop5.constants">クラス定数</link> や <link
linkend="language.types.enumerations">列挙型の case</link>
に対しても動作します。
</para>
<note>
<para>
変数が存在するかどうかを知りたければ、<function>isset</function>
を利用してください。<function>defined</function> は
<link linkend="language.constants">定数</link>にしか適用できません。
関数が存在するかどうかを知りたければ、
<function>function_exists</function> を利用してください。
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>constant_name</parameter></term>
<listitem>
<para>
定数名。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<parameter>constant_name</parameter> で指定した名前の定数が定義されている
場合に &true;、その他の場合に&false;を返します。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>定数のチェック</title>
<programlisting role="php">
<![CDATA[
<?php
/* 引用符の使い方に注意してください。これは重要です。この例では
* 文字列 'TEST' が、定数 TEST の名前かどうかを調べています。*/
if (defined('TEST')) {
echo TEST;
}
interface bar {
const test = 'foobar!';
}
class foo {
const test = 'foobar!';
}
var_dump(defined('bar::test')); // bool(true)
var_dump(defined('foo::test')); // bool(true)
?>
]]>
</programlisting>
</example>
<example>
<title>列挙型のcase をチェックする(PHP 8.1.0 以降)</title>
<programlisting role="php">
<![CDATA[
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(defined('Suit::Hearts')); // bool(true)
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>define</function></member>
<member><function>constant</function></member>
<member><function>get_defined_constants</function></member>
<member><function>function_exists</function></member>
<member><link linkend="language.constants">定数</link>の節</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
-->