Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Symulowanie klasy, autoloader class_alias rozwiązaniem problemu :)
Tomplus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
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.
  1. public function loadClass($class) {
  2. try {
  3. $class = $this->explodeClass($class);
  4. $file = $this->fileExists($this->rootdir.'/'.$class -> src, $class -> name);
  5. if($file) {
  6. $this->requireFile($file);
  7. $this->loaded_classes[$class -> name] = $file;
  8. } else {
  9. throw new \Exception("Klasa nie istnieje: ". $class -> name);
  10. }
  11. } catch (\Exception $exception) {
  12. echo $exception->getMessage();
  13. }
  14. }


Ten post edytował Tomplus 17.11.2016, 09:42:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
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ę (IMG:style_emoticons/default/biggrin.gif)

Ogólnie mówiąc efekt jest taki jaki chcę, teraz tylko rozwijać dalej.

Użyłem:
  1. class_alias ( 'FakeClass', $class -> name);


a dalej, stworzyłem plik z ów klasą, dzięki temu odwoływanie do metod i własności nie powodują błędu.

  1. class FakeClass{
  2. public function __get($p) {
  3. return false;
  4. }
  5.  
  6. public function __call($p, $q) {
  7. return false;
  8. }
  9. }

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: 14.10.2025 - 12:12