chwilkę temu trafiłem na dziwną w/g mnie sytuację. Do tej pory myślałem, że notacja:
class Root { function __construct(){ } }
jest zawsze równa
class Root { function Root(){ } }
Jednak, ku mojemu zaskoczeniu tak nie jest, ponieważ kod:
class Root { function Root(){ } } class Child extends Root { function Child($zmienna){ parent::Root(); } } class Super_child extends Child { function Super_child(){ parent::Child('test'); } }
działa bez problemów, natomiast poniższego kodu nie można wykonać:
class Root { function __construct(){ } } class Child extends Root { function __construct($zmienna){ parent::Root(); } } class Super_child extends Child { function __construct(){ parent::Child('test'); } }
Czy mam wobec tego rozumieć, ze dobrym zwyczajem jest pisać klasy z nazwą konstruktora równą nazwie klasy?