Почему что-то вроде этого выводит текст на экран.
Поскольку методы, которые делают эту печать , называются , вот почему.
$object = new NewClass;
создает новый экземпляр объекта этого класса, и в этом процессе вызывается конструктор класса - часть public function __construct
в вашем коде. (В предыдущих версиях PHP метод с тем же именем, что и у класса, автоматически вызывался в качестве конструктора, теперь он выполняется через зарезервированное имя __construct
.) Этот метод содержит оператор echo, поэтому вы получите «Этот класс имеет был создан »вывод.
(Ваш пример не должен выводить часть «Я - свойство», которую, как вы сказали, вы получаете, - потому что к этому свойству $data
, содержащему это свойство, не обращаются нигде . И ваш код, как показано, не ' на самом деле выведите это, см https://3v4l.org/XKcUR)
И когда весь сценарий заканчивается, PHP выполняет «сборку мусора» и выполняет функции выключения, чтобы очистить все. Во время этого процесса вызываются методы destructor (если они существуют) для всех еще существующих объектов. Вот откуда в вашем примере вывод «Это конец класса!».
Подробнее о конструкторах и деструкторах можно прочитать здесь, http://php.net/manual/en/language.oop5.decon.php