![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z którym nie umiem sobie poradzić żadne wygłuszanie czy też try-e nie działają. Więc pomyślałem że napiszę. AUTOLOADER zbudowany jest na
problem w tym ze gdy includuje jakis plik z katalogu którego autoloader nie obejmuje (MA NIEOBEJMOWAC) otrzymuje fatal error... przy probie utworzenia klasy. Jak ograniczyć zasięg autoloadera? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Funkcją autoloadera nie jest zainicjowanie objektu, ale przygotowanie do jego inicjacji. Samo utworzenie objektu leży ciągle w kwestii interpretera php i jak sądze, on wyrzuca błąd. Jeżeli funkcja autoloadera nie przygotowała dobrze środowiska do utworzenia objektu (np. nie zaincludowała pliku z odpowiednią klasą), PHP nie będzie w stanie utworzyć owego objektu i wyrzuca fatal error.
Musisz znaleźć inny sposób na sprawdzanie czy klasa istnieje. Na pewno nie obędzie się bez class_exists(), być może wcześniejszym file_exists() oraz require_once(), żeby w końcu móc sprawdzić czy klasa jest w pliku. Innego sposobu dostępnego z czystego PHP do tej pory nie widziałem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:25 |