Annotation of embedaddon/php/ext/spl/examples/inigroups.inc, revision 1.1.1.1
1.1 misho 1: <?php
2:
3: /** @file inigroups.inc
4: * @ingroup Examples
5: * @brief class IniGroups
6: * @author Marcus Boerger
7: * @date 2003 - 2005
8: *
9: * SPL - Standard PHP Library
10: */
11:
12: if (!class_exists("KeyFilter", false)) require_once("keyfilter.inc");
13: if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
14:
15: /** @ingroup Examples
16: * @brief Class to iterate all groups within an ini file.
17: * @author Marcus Boerger
18: * @version 1.1
19: *
20: * Using this class you can iterator over all groups of a ini file.
21: *
22: * This class uses a 'is-a' relation to KeyFilter in contrast to a 'has-a'
23: * relation. Doing so both current() and key() methods must be overwritten.
24: * If it would use a 'has-a' relation there would be much more to type...
25: * but for puritists that would allow correctness in so far as then no
26: * key() would be needed.
27: */
28: class IniGroups extends KeyFilter
29: {
30: /**
31: * Construct an ini file group iterator from a filename.
32: *
33: * @param file Ini file to open.
34: */
35: function __construct($file) {
36: parent::__construct(new DbaReader($file, 'inifile'), '^\[.*\]$');
37: }
38:
39: /**
40: * @return The current group.
41: */
42: function current() {
43: return substr(parent::key(),1,-1);
44: }
45:
46: /**
47: * @return The current group.
48: */
49: function key() {
50: return substr(parent::key(),1,-1);
51: }
52: }
53:
54: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>