<?php /** * BDT_Loader klasa odpowiedzialna za ładowanie plików * * @author Przemysław Czekaj <przemyslaw.czekaj@aichra.pl> * @link http://aichra.pl * @version 0.1 * @since 03.29.2010 * @package BDT * @subpackage lib * @charset utf8 **/ /** * @author cojack * @TODO Błędy w postaci GETTEXT */ class BDT_Loader { /** * Konstruktor klasy * * @return void */ } /** * Metoda przyjmuje argument jako tablice iteracyjną * Adres do pliku powinien zaczynać się od ./ i uwzględnić * zmianę ścieżki podczas wczytywania danych. * Zachowywujemy się tak jakbyśmy byli w / tego fw. * * @access public * @param array $files Tablica w postaci array ('plik', 'plik', 'plik'); * @return void */ foreach( $files as $file ) { if( self::_checkFile( $file ) ) { require_once( self::$_path.$file ); } } } /** * Metoda wczytuje pojedyncze pliki XML * * @access public * @param string $files Względna ścieżka do pliku * @return object Xml object */ public function loadFileXML( $file ) { if( self::_checkFile( $file ) ) { libxml_use_internal_errors( TRUE ); $sxe = new SimpleXMLElement( self::$_path.$file, NULL, TRUE ); if( $sxe === FALSE ) { $errorMsg = 'Błąd w pliku XML: ' . $file . "<br />"; $errorMsg .= 'Ścieżka: ' . self::$_path.$file . "<br />"; foreach( libxml_get_errors() as $error ) { $errorMsg .= "<p>" . $error->message . "</p><br />"; } } } return $sxe; } /** * Metoda sprawdza czy dany plik jest możliwy do wczytania * * @param string $file Względna ścieżka do pliku * @return boolean true, false */ return TRUE; } else { } } else { trigger_error( 'Zła ścieżka i/lub nazwa dla pliku: '. $file . "\n" . 'Ścieżka: ' . self::$_path . $file , E_USER_WARNING ); } return FALSE; } }
Gdyby ktoś mógł mi wskazać jakieś wskazówki by poprawić wydajność tej klasy, będę wdzięczny, pomysły z autoload zachować dla siebie, od razu mówię nie, nie i jeszcze raz nie, także bez nich.