Obiekt do przechowywania preferencji/zestawu danych
Z PHP kontakt miewam sporadycznie, ostatnio jakoś pod koniec 2007 roku, ale czasem trzeba. Potrzebuję przechować uporządkowane dane. Nie jest ich wiele, kilkanaście sztuk, pewnie nigdy więcej niż 20-30. Podpinanie w tym celu bazy danych wydaje się bez sensu, szczególnie, że jest to kompletnie adynamiczne.
Potrzebuję dostać się do danych posiadając na wejściu albo numer kolejny albo nazwę którą dostaję z GET();
Nie chciałbym wynajdować koła od początku, zmajstrowałem coś takiego:
class PortfolioItem
{
public $id = array(); // numer kolejny
public $name = array(); // krótka nazwa z $sub_category
private $description = array(); // opis linku w leftbox
private $photos = array(); // liczba zdjęć
public function setData( $id, $name, $description, $photos )
{
$this->id[$name] = $id;
$this->name[$id] = $name;
$this->description[$id] = $description;
$this->photos[$id] = $photos;
}
public function getDescription ( $index )
{
if ( is_int( $index ) )
return $this->description[ $index ];
else
return $this->description[ $this->id[ $index ] ];
}
public function getPhotos ( $index )
{
if ( is_int( $index ) )
return $this->photos[ $index ];
else
return $this->photos[ $this->id[ $index ] ];
}
}
$test = new PortfolioItem;
$test->setData( 1, 'biuro_Alces', 'Budynek administracyjno biurowy firmy Alces w Tłokonii Kościelnej', 4);
$test->setData( 2, 'biuro_Intermarche', 'Budynek administracyjno biurowy firmy Intermarche w Poznaniu', 13);
print "<pre>";
print $test->getDescription( 1 );
print "\n";
print $test->getDescription( 'biuro_Intermarche' );
print "\n";
print_r ($test);
print "</pre>";
to generalnie wydaje się działać jak powinno (wydaje się, bo nie zacząłem jeszcze tego cudactwa używać), ale jak mówię nie chciałbym wynajdować koła od początku byłbym więc wdzięczny za krytykę od ludzi którzy z PHP są na bieżąco, bo ja gapię się po prostu w manual i klepię co mi ślina na palce... :D