Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] handler funkcji w klasie
flashdev
post
Post #1





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


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
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: 13.10.2025 - 16:28