![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
czesc
pomysly mi sie juz skonczyly wiec was zapytam kod: [php:1:bc3db10cdd]<?php class error { function funkcjabledu() { print $jakisblad; } } class test { var $error = null; function przyklad() { //jezeli ok to ok // jezeli nie to return $this -> error -> funkcjabledu(); } } class test2 extends test { function drugiprzyklad() { $this -> przyklad(); } } class engine { var $error; var $test; var $test2; function engine() { $this -> error = new error; $this -> test = new test; $this -> test -> error = & $this -> error; $this -> test2 = new test2; $this -> test2 -> drugiprzyklad(); // i tutaj wyzuca blad ze nie ma obiektu $error } } ?>[/php:1:bc3db10cdd] mozna dodac clasie test2 wlasciwosc error i przekazac do niej ten obiekt i wtedy bedzie wszystko w porzadku, ale czy nie mozna tego zrobic w jakis sprawniejszy sposob?? dzieki |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Twoja metoda niedziala poniewaz dziedziczenie odbywa sie na klasach a nie na obiektach, czyli test2 dziedziczy po klasie test ale ta nie ma przyporzadkowanego obiektu error gdyz dopiero pozniej dolaczasz go do stworzonego obiektu test. Jesli chcesz miec dostepna z roznych miejsc ta sama instancje obiektu error to zainteresuj sie singletonami. http://forum.php.pl/search.php slowa kluczowe to "singleton" i "singletonie"
-------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
dzieki zaraz sobie poczytam
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 09:01 |