Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Widzialne zmiany wprowadzone z innego obiektu
mrKrecik
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.05.2005

Ostrzeżenie: (0%)
-----


Witam. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Od niedawna mam pewien problem. Otóż załóżmy, że mamy klasy a, b i c.
Klasa c to klasa główna która po kolei tworzy obiekty a i b.
Klasa a dziedziczy klasę c i np. definiuje: $this -> foo = 'bar';
Klasa b również dziedziczy klasę c i wyświetla na ekranie $this -> foo;
Niestety na ekranie nie pokazuje się 'boo'. :/

Mniej więcej tak by to wyglądało:
  1. <?php
  2. class a extends c
  3. {
  4. public funcion __construct()
  5. {
  6. $this -> foo = 'bar';
  7. }
  8. }
  9.  
  10. class b extends c
  11. {
  12. public funcion __construct()
  13. {
  14. echo $this -> foo;
  15. }
  16. }
  17.  
  18. class c
  19. {
  20. public $foo;
  21. public funcion __construct()
  22. {
  23. new a;
  24. new b;
  25. }
  26. }
  27. ?>


Mógłby ktoś powiedzieć w czym jest problem oraz ew. jak go rozwiązać?

z góry dziękuję za odpowiedzi.
pozdrawiam
mrKrecik

Ten post edytował mrKrecik 6.01.2007, 17:38:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mrKrecik
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.05.2005

Ostrzeżenie: (0%)
-----


No tak - masz rację. :/
Ale w takim razie na jakiej zasadzie by to rozwiązać? Bo ok - z tym Foo to może przesada, ale ...
Czy taka konstrukcja silnika jest dobra? Tzn. jest główna klasa silnika, która ładuje odpowiednie biblioteki (mysql, smarty itp.) oraz moduł, który jest odpowiedzialny za daną podstronę. A tak dokładnie to te biblioteki są ładowane dopiero w module (bo np. nie zawsze jest potrzebny mysql) poprzez metody zawarte w głównej klasie (loadLib()(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdrawiam
mrKrecik
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 10:16