źle przekopiowałem kod tam są wszędzie static, widać to chyba bo odwołuję się do zmiennych wewnątrz klasy poprzez :: a nie $this->
a co to ma wspólnego z Singletonem? szczerze powiem, nie mi to oceniać bo w końcu zaczynam dopiero ale jest to przykład książkowy, loader kontroluje tworzenie nowych obiektów sprawdza czy obiekt o danej nazwie już istnieje (przechowuje go w tablicy) i jeśli tak to go zwraca, jeśli nie to tworzy nowy i zapisuje, zapobiega w ten sposób tworzeniu wielu instancji tego samego obiektu...
obiekt utworzony w ten sposób zwraca na var_dump i print_r:
object(Config)#1 (4) { ["datasrc"]=> NULL ["configType"]=> string(0) "" ["parserOptions"]=> array(0) { } ["container"]=> object(Config_Container)#2 (7) { ["type"]=> string(7) "section" ["name"]=> string(4) "root" ["content"]=> string(0) "" ["children"]=> array(0) { } ["parent"]=> NULL ["attributes"]=> NULL ["_id"]=> string(34) "rootsection4dbe67d2baebd0.50930602" } }
Config Object
( [datasrc
] => [configType
] => [parserOptions
] => Array ( ) [container
] => Config_Container Object
( [type
] => section
[name
] => root
[content
] => [children
] => Array ( ) [parent
] => [attributes
] => [_id
] => rootsection4dbe67d2baebd0
.50930602
) )
sama klasa ładowanego obiektu może być banalna i w konstruktorze robić jakieś samo echo "coś tam" i nie działa
no i udało mi się odnaleźć źródło problemu, okazało się, że klasa na której testowałem kod nie została poprawnie wgrana przez funkcje __autoload gdyż w jej zasięgu znalazła się inna klasa o takiej samej nazwie, którą __autoload użył do zbudowania obiektu, pytanie moje jednak po odnalezieniu tego problemu brzmi, jaki zasięg ma metoda __autoload gdy poszukuje odpowiedniej klasy i w jaki sposób dokładnie traktuje wpisy jak
jak daleko posunie się __autoload żeby odnaleźć definicje klasy?