Если у меня есть два класса, распространяющих 3-й класс, будет ли содержимое 3-го класса дважды создаваться при создании экземпляров как первого, так и второго классов?Вопрос о наследовании PHP относительно расширенных классов
Пример:
class class1 extends class3{}
class class2 extends class3{}
class 3{
$this->db = new mysql();
}
$class1 = new class1();
$class2 = new class2();
На приведенном выше объект будет дб быть созданы два раза, например? , в этом случае, в результате 2 подключения к mysql?
Спасибо,
Да, пытался проиллюстрировать только, но Im знал о синтаксических ошибках. Спасибо за разъяснения. Таким образом, кажется, что не разумная идея иметь класс db в базовом классе, который будет расширен, если более одного класса расширят его в одном приложении. – Henrique
@Henrique вы можете поместить объект в статическое свойство (только если это свойство в настоящее время равно null), что обеспечит единственный экземпляр класса db и только одну инициализацию. – dqhendricks
Извините за немой вопрос, но как это будет? объявить 'protected static $ db'? Остальные останутся прежними? $ this-> db = new mysql(); ...? Спасибо, – Henrique