-
Notifications
You must be signed in to change notification settings - Fork 107
/
defined.xml
144 lines (129 loc) · 3.44 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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 36e1d917ef7be36e8b4ff5193b456390061f2e21 Maintainer: daijie Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<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">Enum 枚举</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>检测 Enum Cases(自 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
-->