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 149 150 151
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<refentry xml:id="function.apc-define-constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_define_constants</refname>
<refpurpose>
Defines a set of constants for retrieval and mass-definition
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_define_constants</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam><type>array</type><parameter>constants</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_sensitive</parameter></methodparam>
</methodsynopsis>
<para>
<function>define</function> is notoriously slow. Since the main benefit of
APC is to increase the performance of scripts/applications, this mechanism
is provided to streamline the process of mass constant definition. However,
this function does not perform as well as anticipated.
</para>
<para>
For a better-performing solution, try the
<link xlink:href="&url.pecl.package;hidef">hidef</link> extension from PECL.
</para>
<note>
<simpara>
To remove a set of stored constants (without clearing the entire cache), an
empty array may be passed as the <parameter>constants</parameter>
parameter, effectively clearing the stored value(s).
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
The <parameter>key</parameter> serves as the name of the constant set
being stored. This <parameter>key</parameter> is used to retrieve the
stored constants in <function>apc_load_constants</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constants</parameter></term>
<listitem>
<para>
An associative array of <literal>constant_name => value</literal>
pairs. The <literal>constant_name</literal> must follow the normal
<link linkend="language.constants">constant</link> naming rules.
<literal>value</literal> must evaluate to a scalar value.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_sensitive</parameter></term>
<listitem>
<para>
The default behaviour for constants is to be declared case-sensitive;
i.e. <literal>CONSTANT</literal> and <literal>Constant</literal>
represent different values. If this parameter evaluates to &false; the
constants will be declared as case-insensitive symbols.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apc_define_constants</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$constants = array(
'ONE' => 1,
'TWO' => 2,
'THREE' => 3,
);
apc_define_constants('numbers', $constants);
echo ONE, TWO, THREE;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
123
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_load_constants</function></member>
<member><function>define</function></member>
<member><function>constant</function></member>
<member>
Or <link linkend="language.constants">the PHP constants reference</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:"../../../../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
-->
|