Dsao_Xml_Loader Klassenreferenz

Lädt XML-Dateien und lässt sie parsen. Mehr ...

Aufstellung aller Elemente

Öffentliche Methoden

 __construct ($path=null, array $fileNames=array())
 Konstruktor.
 addFileName ($fileName)
 Fügt einen Dateinamen hinzu.
 getFileNames ()
 Gibt Dateinamen zurück.
 getPath ()
 Gibt Pfad zurück.
 getXmlObjects ($forceReload=false)
 Gibt Array mit SimpleXml-Objekten zurück.
 setFileNames (array $fileNames)
 Setzt Dateinamen.
 setPath ($path)
 Setzt Pfad.

Geschützte Methoden

 _load ()
 Geht alle XML-Dateien durch und lädt sie als SimpleXmlElement-Objekte.

Geschützte Attribute

 $_xmlObjects = array()
 array,XML-Objekte
 $_fileNames = array()
 array, Dateinamen (ohne .xml)
 $_path = null
 string, Pfad


Ausführliche Beschreibung

Lädt XML-Dateien und lässt sie parsen.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: Loader.php 519 2009-09-13 15:51:26Z saviola777 $

Definiert in Zeile 9 der Datei Loader.php.


Beschreibung der Konstruktoren und Destruktoren

Dsao_Xml_Loader::__construct ( path = null,
array $  fileNames = array() 
)

Konstruktor.

Parameter:
$path string, Pfad zum Ordner mit XML-Dateien
$fileNames array, Dateinamen (ohne .xml)
Rückgabe:
void

Definiert in Zeile 33 der Datei Loader.php.

00034   {
00035     $this->_path = $path;
00036     $this->_fileNames = $fileNames;
00037   }


Dokumentation der Elementfunktionen

Dsao_Xml_Loader::_load (  )  [protected]

Geht alle XML-Dateien durch und lädt sie als SimpleXmlElement-Objekte.

Rückgabe:
void

Definiert in Zeile 44 der Datei Loader.php.

Wird benutzt von getXmlObjects().

00045   {
00046     // Daten zurück setzen
00047     $this->_xmlObjects = array();
00048 
00049     // Falls Verzeichnis nicht vorhanden oder nicht lesbar
00050     if (!is_dir($this->_path) || !is_readable($this->_path))
00051     {
00052       throw new Dsao_Exception(array(
00053         'message' => 'dsao_xml_loader_path',
00054         'variables' => array('path' => $this->_path)));
00055     }
00056 
00057     $fileNames = $this->_fileNames;
00058 
00059     // Falls keine Dateinamen übergeben wurden
00060     if (!$fileNames)
00061     {
00062       $directory = new DirectoryIterator($this->_path);
00063 
00064       // Verzeichnis durchgehen und XML-Dateien heraussuchen
00065       while ($directory->valid())
00066       {
00067         // Falls Datei
00068         if ($directory->isFile())
00069         {
00070           $fileNameParts = explode('.', $directory->getFileName(), 2);
00071 
00072           // Falls Dateiendung vorhanden und 'xml'
00073           if (isset($fileNameParts[1]) && $fileNameParts[1] == 'xml')
00074           {
00075             $fileNames[] = $fileNameParts[0];
00076           }
00077         }
00078 
00079         $directory->next();
00080       }
00081     }
00082 
00083     // Dateien durchgehen und laden
00084     foreach ($fileNames as $fileName)
00085     {
00086       $fileNameAbsolute = $this->_path.$fileName.'.xml';
00087 
00088       // Falls Datei vorhanden
00089       if (file_exists($fileNameAbsolute))
00090       {
00091         $this->_xmlObjects[$fileName] = simplexml_load_file($fileNameAbsolute);
00092       }
00093     }
00094   }

Dsao_Xml_Loader::addFileName ( fileName  ) 

Fügt einen Dateinamen hinzu.

Parameter:
$fileName string, Dateiname
Rückgabe:
typeReturn, descReturn

Definiert in Zeile 102 der Datei Loader.php.

00103   {
00104     $this->_fieNames[] = $fileName;
00105 
00106     return $this;
00107   }

Dsao_Xml_Loader::getFileNames (  ) 

Gibt Dateinamen zurück.

Rückgabe:
array, Dateinamen

Definiert in Zeile 114 der Datei Loader.php.

00115   {
00116     return $this->_fileNames;
00117   }

Dsao_Xml_Loader::getPath (  ) 

Gibt Pfad zurück.

Rückgabe:
null|string, Pfad

Definiert in Zeile 124 der Datei Loader.php.

00125   {
00126     return $this->_path;
00127   }

Dsao_Xml_Loader::getXmlObjects ( forceReload = false  ) 

Gibt Array mit SimpleXml-Objekten zurück.

Parameter:
$forceReload bool, ob Neuladen erzwungen werden soll
Rückgabe:
Dsao_Xml_Loader, fließendes Interface

Definiert in Zeile 135 der Datei Loader.php.

Benutzt _load().

00136   {
00137     // Falls Daten leer oder neu geparst werden muss
00138     if (!$this->_xmlObjects || $forceReload)
00139     {
00140       $this->_load();
00141     }
00142 
00143     return $this->_xmlObjects;
00144   }

Dsao_Xml_Loader::setFileNames ( array $  fileNames  ) 

Setzt Dateinamen.

Parameter:
$fileNames array, Dateinamen
Rückgabe:
Dsao_Xml_Loader, fließendes Interface

Definiert in Zeile 152 der Datei Loader.php.

00153   {
00154     $this->_fileNames = $fileNames;
00155 
00156     $this->_xmlObjects = array();
00157 
00158     return $this;
00159   }

Dsao_Xml_Loader::setPath ( path  ) 

Setzt Pfad.

Parameter:
$path string, Pfad
Rückgabe:
Dsao_Xml_Loader, fließendes Interface

Definiert in Zeile 167 der Datei Loader.php.

00168   {
00169     $this->_path = (string) $path;
00170 
00171     // Daten zurück setzen
00172     $this->_xmlObjects = array();
00173 
00174     return $this;
00175   }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:13 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1