![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 10.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jestem w trakcie pisania klasy do wywoływania pluginów, wpadłem na ciekawy pomysł (pewnie nie tylko ja), aby odwoływać się do nich przez metody. Dla przykładu, plugin panel_bbcode, który wyświetla ikony do wprowadzania tagów BBCode:
Sposób ten (podobno) działa w PHP 5.3, ale używam wersji 5.2 Czy można takie coś zrobić w PHP 5.2? Ten post edytował Endzio 16.01.2010, 22:03:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 10.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
W każdym bądź razie, źle kombinujesz... Lubię prostotę w kodzie. Podoba mi się takie rozwiązanie. W obojętnie jakim miejscu wprowadzam i jeśli istnieje taki plugin to "includuje" go (jeśli wcześniej metoda nie została utworzona), rejestruje metodę i wyświetla zawartość, a jeśli nie istnieje to zwraca false. // Edytka Po przemyśleniu doszedłem do wniosku, że masz rację, pluginy mogą być klasami, do których bym się odwoływał podobnie:
a funkcja __call by wyglądała tak:
// Edytka 2 Jednak w ten sposób nie działa. Aby zadziałało należy wpisać:
Przy wywołaniu $plug->panel->show() PHP nie korzysta z metody __call (IMG:style_emoticons/default/dry.gif) Czy istnieje możliwość pominięcia pierwszej linijki? // Edytka 3 Zadziałało, ale w przypadku, gdy plugin nie istnieje PHP wyrzuca błąd Cytat Fatal error: Call to a member function show() on a non-object Sugestie mile widziane (IMG:style_emoticons/default/smile.gif) Ten post edytował Endzio 17.01.2010, 18:33:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 15:48 |