SPL-StandardPHPLibrary
Public Member Functions | Protected Member Functions
IniGroups Class Reference
Inheritance diagram for IniGroups:
Inheritance graph
[legend]
Collaboration diagram for IniGroups:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 __call ($func, $params)
 __construct ($file)
 accept ()
 current ()
 getInnerIterator ()
 getRegex ()
 key ()
 next ()
 rewind ()
 valid ()

Protected Member Functions

 __clone ()
 fetch ()

Detailed Description

Class to iterate all groups within an ini file.

Author:
Marcus Boerger
Version:
1.1

Using this class you can iterator over all groups of a ini file.

This class uses a 'is-a' relation to KeyFilter in contrast to a 'has-a' relation. Doing so both current() and key() methods must be overwritten. If it would use a 'has-a' relation there would be much more to type... but for puritists that would allow correctness in so far as then no key() would be needed.

Definition at line 28 of file inigroups.inc.


Constructor & Destructor Documentation

IniGroups::__construct ( file)

Construct an ini file group iterator from a filename.

Parameters:
fileIni file to open.

Definition at line 35 of file inigroups.inc.

                                {
        parent::__construct(new DbaReader($file, 'inifile'), '^\[.*\]$');
    }

Member Function Documentation

FilterIterator::__call ( func,
params 
) [inherited]

Aggregate the inner iterator.

Parameters:
funcName of method to invoke
paramsArray of parameters to pass to method

Reimplemented in SearchIterator.

Definition at line 121 of file filteriterator.inc.

    {
        return call_user_func_array(array($this->it, $func), $params);
    }
KeyFilter::__clone ( ) [protected, inherited]

hidden __clone

Reimplemented from FilterIterator.

Definition at line 58 of file keyfilter.inc.

    {
        // disallow clone 
    }
KeyFilter::accept ( ) [inherited]
Returns:
whether the current key mathes the regular expression

Reimplemented from FilterIterator.

Definition at line 43 of file keyfilter.inc.

References FilterIterator\getInnerIterator(), and FilterIterator\key().

    {
        return ereg($this->regex, $this->getInnerIterator()->key());
    }

Here is the call graph for this function:

IniGroups::current ( )
Returns:
The current group.

Reimplemented from FilterIterator.

Definition at line 42 of file inigroups.inc.

                       {
        return substr(parent::key(),1,-1);
    }
FilterIterator::fetch ( ) [protected, inherited]

Fetch next element and store it.

Returns:
void

Definition at line 61 of file filteriterator.inc.

References FilterIterator\accept().

Referenced by FilterIterator\next(), and FilterIterator\rewind().

                               {
        while ($this->it->valid()) {
            if ($this->accept()) {
                return;
            }
            $this->it->next();
        };
    }

Here is the call graph for this function:

FilterIterator::getInnerIterator ( ) [inherited]
KeyFilter::getRegex ( ) [inherited]
Returns:
regular expression used as filter

Definition at line 50 of file keyfilter.inc.

    {
        return $this->regex;
    }
IniGroups::key ( )
Returns:
The current group.

Reimplemented from FilterIterator.

Definition at line 49 of file inigroups.inc.

                   {
        return substr(parent::key(),1,-1);
    }
FilterIterator::next ( ) [inherited]

Move to next element.

Returns:
void

Implements Iterator.

Reimplemented in SearchIterator.

Definition at line 75 of file filteriterator.inc.

References FilterIterator\fetch().

                    {
        $this->it->next();
        $this->fetch();
    }

Here is the call graph for this function:

FilterIterator::rewind ( ) [inherited]

Rewind the inner iterator.

Implements Iterator.

Reimplemented in SearchIterator.

Definition at line 42 of file filteriterator.inc.

References FilterIterator\fetch().

                      { 
        $this->it->rewind();
        $this->fetch();
    }

Here is the call graph for this function:

FilterIterator::valid ( ) [inherited]
Returns:
Whether more elements are available

Implements Iterator.

Reimplemented in SearchIterator.

Definition at line 83 of file filteriterator.inc.

                     {
        return $this->it->valid();
    }

The documentation for this class was generated from the following file: