Chciałem prosić o opinię na temat takiej klasy. Klasa zapisuje dane o kursach walut NBP z pliku xml i odczytuje je z bazy danych. Nie wiem czy samo połącznie do bazy powinno być tak jak to zrobiłem czy może w osobnej klasie? Poza tym czy tej klasie coś brakuje lub jest w niej coś nie potrzebne?
<?php class kursy_walut { private $host; private $user; private $password; private $db; private $statement; private $count; function __construct($host,$user,$password,$db){ $this->host = $host; $this->user = $user; $this->password = $password; $this->db = $db; $this->db = new PDO('mysql:host='.$host.';dbname='.$db.';',$user,$password); } function saveXMLToTheDatabase(){ $walutyKursy = simplexml_load_file('http://rss.nbp.pl/kursy/xml2/2012/a/12a127.xml'); $nrTabeli = $walutyKursy->numer_tabeli; foreach($walutyKursy->pozycja as $poz){ $naz_wal = $poz->nazwa_waluty; $przel = $poz->przelicznik; $kod_wal = $poz->kod_waluty; $kurs_sr = $poz->kurs_sredni; $this->db->exec('INSERT INTO kursy_walut_nbp (numer,nazwa_wal,przel,kod_w,kurs_s) VALUES (\''.$nrTabeli.'\',\''.$naz_wal.'\',\''.$przel.'\',\''.$kod_wal.'\',\''.$kurs_sr.'\')'); } } function readDataFromTheDatabase($val,$dat,$number){ $statement = $this->db->query('SELECT nazwa_wal,przel,kod_w,kurs_s FROM kursy_walut_nbp'); foreach($statement as $row){ $count = $row['kurs_s'] * $val; echo '<li>'.$row['nazwa_wal'].' - '.$row['przel'].' - '.$row['kod_w'].' - '.$row['kurs_s'].' - '.$count.'</li>'; } } } $db_con = new kursy_walut('localhost','root','ddd','baza1'); $db_con -> saveXMLToTheDatabase(); $db_con -> readDataFromTheDatabase(10.5,'2012-06-04','HNG/DMSD/436'); ?>
proszę o podpowiedź.
dzięki