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>