![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Piszęe klasę do obsługi błędów w php i mam mały problem.
Kod function error_handler(..){ ... } set_error_handler(error_handler); ten kod mi działa, ale jak chce podać uchwyt do funkcji w klasie to jest problem Kod // tak nie dziala: set_error_handler($this->error_handler); // tak tez nie: set_error_handler("$this->error_handler"); Jestem przyzwyczajony do JS i tam normalnie nazwa funkcji bez nawiasów jest do niej uchwytem. A w php np. ponizsze wyrazenie jest prawdziwe: Kod echo gettype(abc)==gettype("abc"); Czyli pomimo ze mam w kodzie funkcje abc, to php traktuje to jako string, a nie uchwyt. Jak rozwiazac ten problem, jak odwolac sie do tej funkcji w klasie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Mam kolejny bardzo podobny problem, z którym nie mogę sobie poradzić.
Mam dwie klasy: B i A. tworzę obiekt klasy A: $objA = new A(); I teraz zauważyłem, że w klasie A mam bardzo fajną funkcję o nazwie funkcja, którą chciałbym wykorzystać w klasie B. Jak teraz przekazać tą referencję parametrze konstruktora klasy B, żebym mógł sobie zapisać ten uchwyt w zmiennej, a anastępnie używać do woli. $objB = new B( (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ); Podaje kawałek kodu AS3 (~JS) wyjaśniającego o co mi chodzi. Może ktoś mnie zrozumie. Kod var klasaA:A = new A(); var klasaB:B = new B( klasaA.funkcja ); // zmienna oraz kostruktor w klasie B: var private uchwyt:function; function B( h:function ):void{ uchwyt = h; } // przykladowe wywolanie fajnej funkcji z klasy A w klasie B: function exec():void{ uchwyt(); } Może nie do końca wszystko rozumiem jak to się robi w php. Może nikt o zdrowych zmysłach nie wykonuje funkcji z klasy A w klasie B. Jeśli tak jest to prosiłbym o jakieś wskazówki w postaci linków do wartościowych artykułów wprowadzajacych w temat php. Ten post edytował flashdev 18.07.2009, 20:23:45 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 16:28 |