![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Gdy klasa nie istnieje mamy komunikat FATAL ERROR, a jak zrobić aby symulować istnienie klasy która nie istnieje? Mam taką metodę, ale po wielu dziwnych próbach nic nie udało mi się wskórać. A błąd nadal jest. Wg przykładu poniżej Mam komunikat z wyjątku + Fatal Error parsera.
Ten post edytował Tomplus 17.11.2016, 09:42:23 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem. Dlaczego i w jaki sposób chciałbyś "symulować, że klasa istnieje"? W jaki sposób obsłużysz obiekty tej nieistniejącej klasy?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Brak obiektów to inny problem, ale do rozwiązania. Ale istnieją jeszcze magiczne metody, i dzięki nim własności zwracałyby domyślnie false.
Po co? Właśnie po to aby dać informację parserowi że klasa istnieje, a dalej ma kontynuować stronę. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Może w autoload daj na dziko eval('class '.$x.' extends foo {}');
Ani to ładne, ani bezpieczne, ale co tam ;D Można taż new stdClass jeśli klasa będzie brana tylko z kontenera |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Albo zamiast tego paskudnego (w tym przypadku) eval jest jeszcze class_alias. Ale mam niemal 100% pewności, że coś tam rozrabiasz
![]()
Ten post edytował SmokAnalog 16.11.2016, 23:26:27 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pokaz output błędu
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Podziękowanie dla Smoka, najlepsze że byłem wczoraj w manualu, kręciłem się koło class_alias, ale nie wpadłem na to żeby wejść na tą funkcję
![]() Ogólnie mówiąc efekt jest taki jaki chcę, teraz tylko rozwijać dalej. Użyłem:
a dalej, stworzyłem plik z ów klasą, dzięki temu odwoływanie do metod i własności nie powodują błędu.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 05:17 |