
Pytania oprę na ostatnio realizowanym projekcie jakim był serwis www z grami flash. Jak to serwis można w nim wyróżnić pewne części/moduły takie jak: Najpopularniejsza gra, Ostatnio grana gra, Newsletter... No i tu pojawia się moje pierwsze pytanie. Czy taki każdy moduł powinien być osobną klasą, której obiekt będziemy tworzyć??
Drugie moje pytanie będzie dotyczyło konkretnego modułu, który odpowiedzialny jest za wyświetlanie wszystkich gier z bazy danych z określonej kategorii. Jak byście takie coś zorganizowali w sposób obiektowy?? Mógłby ktoś tak w skrócie przedstawić jakie własności powinna mieć klasa, jakie metody, oczywiście bez implementacji. Tak tylko, żebym mógł się zapoznać.
Ja zrobiłem coś takiego tyle, że mi się to niespecjalnie podoba:
Kod
class CatGames
{
private $data = array();
function __construct($cat_name)
{
global $db;
$result = $db->query('SELECT name_id, name FROM games g
LEFT JOIN categories c ON g.cat_id=c.id
WHERE c.name=\''.$cat_name.'\'');
while($row = $result->fetch_assoc())
{
$row['url'] = getURL('gra',$row['name_id']);
$this->data[] = $row;
}
$result->close();
}
function __get($var)
{
return $this->$var;
}
}
$catgames = new CatGames();
$smarty->assign('catgames',$games->data);
{
private $data = array();
function __construct($cat_name)
{
global $db;
$result = $db->query('SELECT name_id, name FROM games g
LEFT JOIN categories c ON g.cat_id=c.id
WHERE c.name=\''.$cat_name.'\'');
while($row = $result->fetch_assoc())
{
$row['url'] = getURL('gra',$row['name_id']);
$this->data[] = $row;
}
$result->close();
}
function __get($var)
{
return $this->$var;
}
}
$catgames = new CatGames();
$smarty->assign('catgames',$games->data);
Z góry dzięki z pomoc i pozdrawiam.