Annotation of embedaddon/php/ext/spl/examples/inigroups.inc, revision 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>