Это работает, и я использовал этот метод несколько раз, но не знаю, следует ли мне это делать или нет. Я пытаюсь уйти от использования статических методов и перейти к внедрению зависимостей.
В этом примере $table_name установлено в другом месте.
Код: Выделить всё
class DbObject {
private $db = NULL;
protected $table_name;
public function __construct($dbh, $item) {
$this->db = $dbh;
$this->$table_name = $item;
}
// counts items in database
public function count_all() {
try {
$sql = 'SELECT COUNT(*) FROM ' . $this->table_name;
$stmt = $this->db->query($sql);
$stmt->setFetchMode(pdo::FETCH_COLUMN, 0);
$result = $stmt->fetchColumn();
return $result;
} catch (PDOException $e) {
echo $e->getMessage());
}
}
Код: Выделить всё
$total_count = new DbObject(new Database(), 'items');
$total_count = $total_count->count_all();
Спасибо за помощь.
Подробнее здесь: https://stackoverflow.com/questions/908 ... -variables
Мобильная версия