File: yaf-config-ini.xml

package info (click to toggle)
php-doc 20241205~git.dfcbb86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,956 kB
  • sloc: xml: 968,269; php: 23,883; javascript: 671; sh: 177; makefile: 37
file content (185 lines) | stat: -rw-r--r-- 5,922 bytes parent folder | download | duplicates (2)
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<reference xml:id="class.yaf-config-ini" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

 <title>The Yaf_Config_Ini class</title>
 <titleabbrev>Yaf_Config_Ini</titleabbrev>

 <partintro>

<!-- {{{ Yaf_Config_Ini intro -->
  <section xml:id="yaf-config-ini.intro">
   &reftitle.intro;
   <para>
   Yaf_Config_Ini enables developers to store configuration data in a
   familiar INI format and read them in the application by using nested object
   property syntax. The INI format is specialized to provide both the ability
   to have a hierarchy of configuration data keys and inheritance between
   configuration data sections. Configuration data hierarchies are supported
   by separating the keys with the dot or period character ("."). A section
   may extend or inherit from another section by following the section name
   with a colon character (":") and the name of the section from which data are
   to be inherited.    
  <note>
   <para>
   Yaf_Config_Ini utilizes the ยป parse_ini_file() PHP function. Please review
   this documentation to be aware of its specific behaviors, which propagate
   to Yaf_Config_Ini, such as how the special values of "&true;", "&false;",
   "yes", "no", and "&null;" are handled. 
   </para>
  </note>
  </para>
  </section>
<!-- }}} -->

  <section xml:id="yaf-config-ini.synopsis">
   &reftitle.classsynopsis;

<!-- {{{ Synopsis -->
   <classsynopsis>
    <ooclass><classname>Yaf_Config_Ini</classname></ooclass>

<!-- {{{ Class synopsis -->
    <classsynopsisinfo>
     <ooclass>
      <classname>Yaf_Config_Ini</classname>
     </ooclass>
     
     <ooclass>
      <modifier>extends</modifier>
      <classname>Yaf_Config_Abstract</classname>
     </ooclass>
     
     <oointerface>
      <interfacename>Iterator</interfacename>
     </oointerface>

     <oointerface>
      <interfacename>ArrayAccess</interfacename>
     </oointerface>

     <oointerface>
      <interfacename>Countable</interfacename>
     </oointerface>
    </classsynopsisinfo>
<!-- }}} -->
    <classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>

    
    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.yaf-config-ini')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])" />
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.yaf-config-ini')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
    
    <classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.yaf-config-abstract')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />

   </classsynopsis>
<!-- }}} -->

  </section>

  
<!-- {{{ Yaf_Config_Ini properties -->
  <section xml:id="yaf-config-ini.props">
   &reftitle.properties;
   <variablelist>
    <varlistentry xml:id="yaf-config-ini.props.config">
     <term><varname>_config</varname></term>
     <listitem>
      <para></para>
     </listitem>
    </varlistentry>
    <varlistentry xml:id="yaf-config-ini.props.readonly">
     <term><varname>_readonly</varname></term>
     <listitem>
      <para></para>
     </listitem>
    </varlistentry>
   </variablelist>
  </section>
<!-- }}} -->

 <section role="examples">
  &reftitle.examples;
  <example>
   <title><function>Yaf_Config_Ini</function>example</title>
   <para>
    This example illustrates a basic use of Yaf_Config_Ini for loading
    configuration data from an INI file. In this example there are
    configuration data for both a production system and for a staging system.
    Because the staging system configuration data are very similar to those
    for production, the staging section inherits from the production section.
    In this case, the decision is arbitrary and could have been written
    conversely, with the production section inheriting from the staging
    section, though this may not be the case for more complex situations.
    Suppose, then, that the following configuration data are contained in
    /path/to/config.ini:
   </para>
   <programlisting role="ini">
<![CDATA[
; Production site configuration data
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname
 
; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
]]>
   </programlisting>
   <programlisting role="php">
<![CDATA[
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');
 
var_dump($config->database->params->host); 
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>
]]>
   </programlisting>
   &example.outputs.similar;
   <screen>
<![CDATA[
string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser
]]>
   </screen>
  </example>
  </section>

 </partintro>

 &reference.yaf.entities.yaf-config-ini;

</reference>

<!-- 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
-->