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

List of all members.

Public Member Functions

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

Protected Member Functions

 __clone ()
 fetch ()

Private Attributes

 $file

Detailed Description

Base class to find files.

Author:
Marcus Boerger
Version:
1.1

Definition at line 21 of file findfile.inc.


Constructor & Destructor Documentation

FindFile::__construct ( path,
file 
)

Construct from path and filename.

Parameters:
$paththe directory to search in If path contains ';' then this parameter is split and every part of it is used as separate directory.
$filethe name of the files to search fro

Reimplemented in RegexFindFile.

Definition at line 33 of file findfile.inc.

References $file, and FilterIterator\$it.

    {
        $this->file = $file;
        $list = split(PATH_SEPARATOR, $path);
        if (count($list) <= 1) {
            parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
        } else {
            $it = new AppendIterator();
            foreach($list as $path) {
                $it->append(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
            }
            parent::__construct($it);
        }
    }

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);
    }
FilterIterator::__clone ( ) [protected, inherited]

hidden __clone

Reimplemented in KeyFilter.

Definition at line 104 of file filteriterator.inc.

                                 {
        // disallow clone 
    }
FindFile::accept ( )
Returns:
whether the current file matches the given filename

Reimplemented from FilterIterator.

Reimplemented in RegexFindFile.

Definition at line 50 of file findfile.inc.

References FilterIterator\current().

    {
        return !strcmp($this->current(), $this->file);
    }

Here is the call graph for this function:

FilterIterator::current ( ) [inherited]
Returns:
The current value

Implements Iterator.

Reimplemented in RegexIterator, CallbackFilterIterator, and IniGroups.

Definition at line 97 of file filteriterator.inc.

Referenced by RegexFindFile\accept(), and accept().

                       {
        return $this->it->current();
    }
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]
FindFile::getSearch ( )
Returns:
the filename to search for.
Note:
This may be overloaded and contain a regular expression for an extended class that uses regular expressions to search.

Definition at line 59 of file findfile.inc.

Referenced by RegexFindFile\accept().

    {
        return $this->file;
    }
FilterIterator::key ( ) [inherited]
Returns:
The current key

Implements Iterator.

Reimplemented in RegexIterator, CallbackFilterIterator, IniGroups, and DirectoryFilterDots.

Definition at line 90 of file filteriterator.inc.

Referenced by KeyFilter\accept().

                   {
        return $this->it->key();
    }
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();
    }

Member Data Documentation

FindFile::$file [private]

filename to find

Definition at line 24 of file findfile.inc.

Referenced by __construct().


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