У меня есть абстрактный класс, который содержит методы моей базы данных: abstractDatabase
Я расширяю этот класс с помощью: Database
При ссылке на это в другом классе, я должен использовать abstractDatabase
или Database
?
class Config
{
public function setDatabase(\abstractDatabase $database) {
$this->db=$database;
return $this
}
или это должно быть записано как:
class Config
{
public function setDatabase(\Database $database) {
$this->db = $database;
return $this;
}
Кроме того, при определении моего абстрактного класса я должен ссылаться на abstractClass
или просто Class
abstract class Database
{
abstract function __construct(\abstractConfig $config);
}
или
abstract class Database
{
abstract function __construct(\Config $config);
}
Тот же вопрос касается реализации интерфейсов.