Somehow my mind went far away from the current problem and I made a terrible mistake.. I called a parent constructor inside a method that just initializes classes properties.. Or did I.. The parent constructor's job was to set the ID value. Well PHP allowed me to do that. But isnt that just wrong? And it looks like I can call classes own constructor in the same way.. Isn't it that constructors should only be allowed to call when creating instances of a class... And they are only called when creating instances..
<?php
class A {
public function __construct() {
echo "Test<br />";
}
}
class B extends A {
public function test() {
parent::__construct();
}
}
$b = new B();
$b->test();
// OUTPUT:
// Test
// Test
?>
EDIT: So the conclusion is that PHP allows you to call the constructor inside a method but it actually does nothing. And that other "TEST" string comes from the base class's constructor.