Расширяется после включения - PullRequest
1 голос
/ 05 февраля 2012

Я озадачен чем-то, и немного сложнее написать свой собственный код.
НО я сделаю все возможное, чтобы объяснить это.

У меня есть файл, который работает как загрузчик.
В начале файла я включаю php settings с классом settings.

Сразу после этого я создаю экземпляр класса настроек.
После этого я включаю документ php, который будет создавать экземпляры всех других классов в моей системе.

код:

include('settings.php');
$settings = new Settings();
include('classes.php');

Внутри класса настроек есть конструктор, который будет запускать ряд функций, которые будут устанавливать некоторые постоянные переменные для значений по умолчанию.

Теперь приходит моя проблема.

В качестве примера скажем, что в classes.php создается экземпляр класса Test. Это означало бы, что я могу расширить этот класс из класса настроек.

Но когда я это сделаю, конструктор снова запустится и получит ошибки, что константы уже определены.

Мой вопрос ... Будет ли php запускать конструкцию класса параметров при создании экземпляра класса теста?

Привет.

1 Ответ

2 голосов
/ 05 февраля 2012

Если Test класс имеет свой собственный конструктор (_construct метод), то родительский конструктор не будет вызываться, если вы не вызовете его явно изнутри конструктора дочернего класса, например parent::__construct().

Если Testкласс не имеет __construct метода, тогда будет вызван родительский конструктор (если есть).

...