![]() |
![]() |
--JacekP-- |
![]()
Post
#1
|
Goście ![]() |
Witam
Mam pytanie, jak rozwiązać sprawę $_instance w klasie rodzica ? Stworzyłem znaną wszystkim funkcję : <code=php> private static $_instance; public static function instance() { if(!isset(self::$_instance)){ self::$_instance = new static(); } return self::$_instance; }</code> Teraz każda klasa która dzedziczy po tej klasie ma funkcję instance, problem jednak pojawił się taki że $_instance przyjmuje wartość pierwszej stworzonej klasy którą zainicjuję tą funkcją, wydaje mi się to błędnym działaniem, zmienna $_instance mimo że statyczna powinna być statyczną dla klasy która dziedziczy po tej, Jak rozwiązać ten problem, czy mogę usunąć static, wtedy będą się za każdym razem tworzyć się nowe kopie dla każdej klasy i funkcja straci sens :/ |
|
|
![]() |
--JacekP-- |
![]()
Post
#2
|
Goście ![]() |
Nie do końca rozumiem jak by ten DIC miał działać. Przeglądam googla i poczytuje.
Mam powiedzmy jedną klasę, i 2 moduły, log i user , a więc DIC działa tak że tworzę klasę Dic , w niej tworzę klasy modułów czli log i user, potem w klasach gdzie potrzebne jest np. zapisanie info do loga to odpalam
Pytanie tylko jak do klasy w której potrzebny jest log przekazać Dic a ? Czy poprzez wkładanie za każdym przez jakąś funkcję czy konstruktor ?
Czy tak działa idea DIC ? Przyznam że nie do końca rozumiem jak powinienem przekazywać DICa. Tutaj widzę że ktoś rozkminiał http://forum.php.pl/index.php?showtopic=157036 ale ostatecznie tylko został zjechany a odpowiedzi nie ma. Prosił bym o jakąś wskazówkę, bo w 1 kolejności myślałem o takim przekazywaniu ale wydawało mi się że z czasem może dojść do mega gmatwaniny, być może jednak jest to tylko pozorne wrażenie. pzdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 20:36 |