Интеграция класса в PDO, а затем интеграция ваших методов в объект базы данных
Примеры:
class Database extends PDO
{
//Override __construct for PDO
function __construct()
{
Here you assembly your PDO Constructor
parent::__construct($dsn,$username,$password,$driver_options);
}
}
Исходя из того, что вы можете просто сделать:
$Database = new Database(); //Where as your Database class is now combined with PDO:
В качестве продолжения вы можете теперь делать классы следующим образом:
class DB_Table_Users extends Database
{
public function getByLocation($location)
{
$statement = $this->prepare("SELECT * FROM users WHERE location = :location");
$statement->bindValue(':location',$location);
$statement->execute();
return $statement;
}
public function getByDate($int_date)
{
$statement = $this->prepare("SELECT * FROM users WHERE reg_date > :int_date");
$statement->bindValue(':int_date',$int_date);
$statement->execute();
return $statement;
}
}
и использовать так:
$Users = new DB_Table_Users;
$statement = $Users->getByLocation('uk');
foreach($row as $statement->fetchObject())
{
//..
}
Это имеет некоторую структуру для отношений с базой данных и будет сохранять ваши таблицы конкретнымиклассу.
Совет: вы также можете использовать __get
и __set
в вашем DB_Table_XXXX
, чтобы в ваших методах вы могли извлекать их как объект к вашей собственной таблице.