Надеюсь, название имеет смысл, и, надеюсь, мой вопрос тоже.
Поэтому мне нужно создать экземпляр класса Sql в начале каждой страницы моего сайта, чтобы у всех других классов был действительный ресурс mysql для выполнения запросов, обновлений и т. Д. Без создания нескольких объектов Sql.
Однако в настоящее время мои классы расширяют абстрактный класс для различных реализаций функций, основанных на контексте класса.
Вопрос: Могу ли я использовать потомок абстрактного класса parent::_construct
для обхода абстрактного суперкласса и создания экземпляра класса Sql, из которого выходит резюме?
EX.
class Sql {
function _construct() {
//get valid db resource
}
function query() {
//// query code
}
}
abstract class Display extends Sql {
function show() {
return $this->displayRecipe();
}
abstract function getRecipe();
}
class Members extends Display {
function __construct() {
parent::__construct();
}
function getRecipe($member_id) {
return $this->query("select * from recipes where member=$member_id");
}
}
Как видите, я не могу использовать function query()
класса Sql, который сейчас является классом для родителей. Тем не менее, с абстрактным классом посередине, это вызовет исключение и сломается?