public function getStuff() {
$result = $this->db->row('SELECT * FROM `slider`');
return $result;
}
public function getMainDb() {
$result = $this->db->row('SELECT * FROM `$tables`');
return $result;
}
abstract class BaseORM {
protected $table;
protected $db;
public function __construct($db) {
$this->db = $db;
}
public function getById($id) {
$stmt = $this->db->prepare("SELECT * FROM `$this->table`" WHERE id=?);
$stmt->execute([$id]);
return $stmt->fetch();
}
public function getAll() {
return $this->db->query("SELECT * FROM `$this->table`");
}
}
class SliderDB extends BaseORM {
protected $table = 'slider';
}
$slider = new SliderDB($db);
$allSliders = $slider->getAll();
у меня интернет магазин - и там у меня есть список лучших товаров - отдельный список магазинов и отдельный список лучших предложений - и если мне писать каждый метод с каждым именем таблици - мне сказали что я нарушаю правило" не повторйся"! и думал я как же мне быть что бы в переменную таблица записывалась динамично и что бы не было массу методов как то так.
function getTableData($table) {
$list = ['best_offers', 'shops', 'best_products'];
if (!in_array($table, $list)) {
throw new InvalidArgumentException('Table name not found');
}
return $this->db->row('SELECT * FROM `$table`');
}
$data = getTableData('shops');
public function getMainDb($tables) {
$result = $this->db->row('SELECT * FROM '.$tables);
return $result;
}
public function getMainDb($tables) {
$result = $this->db->row("SELECT * FROM {$tables} ");
return $result;
}
public function getMainDb() {
global $tables
$result = $this->db->row("SELECT * FROM {$tables} ");
return $result;
}