Ahoj, jak správně napsat třídu, která pracuje s databází? Třeba když mám ve třídě privátní metodu, která z databáze získává data dle argumentů, které předá sám uživatel. S těmito získanými data chci pak ve třídě nadále pracovat. Je tedy lepší navrhnout třídu jako:
public function __construct($id)
{
....
}
// $dotaz = "SELECT * FROM users WHERE ID = ?";
private function metoda($dotaz)
{
....
return $ziskanaData;
}
a nebo:
public function __construct($id)
{
...
}
public function nastavInformace($tabulka, $poleID)
{
//uložení do privátních proměnných
}
private function metoda()
{
$dotaz = "SELECT * FROM $this->tabulka WHERE $this->poleID = ?";
...
return $vybranaData;
}
Popřípadě, je zde jiný více užitečný přístup, jak docílit podobného výsledku? Osobně mi přijde první případ méně užitečný, protože pokud s danou třídou budu pracovat po delší době, tak nebudu vědět, jak zapsat korektní dotaz, načež u druhé možnosti mě to trápit nemusí. Děkuji za rady.