![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%)
|
Czy jest jakas metoda lub funkcja dzieki, ktorej mozna zdefiniowac albo ignorowac funkcje, ktore sa gdzies wczesniej zadeklarowane a chce sie je zastapic?
Przykladowo jest funkcja do wyswietlania czegos tam i chce zrobic plugin, ktory by dzialal w podobny sposob co dana funkcja ale robil jeszcze jakies operacje wewnatrz. I teraz ... nazwa funkcji bylaby ta sama jednak nie moge zadeklarowac dwa razy tej samej nazwy funkcji a jednak chcialbym by jedna druga zastepowaly. Oczywiscie ma to zastosowanie w przypadku istnienia przykladowej aplikacji, ktora dziala jak dziala i nie chce jej zmieniac a wystarczy wgrac plugin i zastapic dana funkcje. Dobra maslo maslane ... przyklad ponizej:
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%)
|
Nie mozna. Chyba, ze zrobisz tak, ze 1 wgrywasz druga nie, albo 2 wgrywasz pierwsza nie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Zaslanianie nie ma sensu poniewaz w php nie trzeba deklarowac funkji na poczatku... jak uzyjemy sobie jej w srodku, a jej definicja jest na koncu to on i tak ja widzi. Wiec jakby mial rozpoznawac, do ktorej funkcji sie odwolujesz? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%)
|
Można to zrobić na obiektach. Mieć jakiegoś class loadera, w którym aplikacja/pluginy rejestrują klasy, i który, jak trzeba wczytać kod klasy, sprawdza gdzie jest dostępna najnowsza wersja danej klasy i robi odpowiedni require_once.
OOP rulez (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%)
|
Ostatecznie mozna przez function_exists( ); ale nie jest to idealne wyjscie ...
dla testu zrobilem tak na przykladowo 50 funkcjach. zwyczajnie wstawilem if'a przed funkcja i myslalem, ze generacja bedzie wygladala o wiele gorzej a odziwo roznica byla w granicach bledu bo ok. +/- 0.001 sek Ten post edytował treewood 27.10.2004, 13:28:52 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 02:08 |