Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Uniwersalna funkcja __autoload?
eMartio
post
Post #1





Grupa: Zablokowani
Postów: 46
Pomógł: 0
Dołączył: 12.01.2006

Ostrzeżenie: (10%)
X----


Czy ktos z Was ma jakoś fajnie rozwiązaną fukcję __autoload od ładowania klas porozrzucanych po róźnych katalogach?

Powiedzmy, że mam taką strukturę katalogów:
/classes/a/
/classes/b/
/classes/c/
/libraries/
index.php

I teraz w pliku index.php mam użytą funkcję __autoload. Jak zrobić, aby była uniwersalna i radziła sobie z odnajdywaniem odpowiedniej klasy w tych katalogach?

Mam na razie w głowie dwa rozwiązania:

Szukamy klasy: TestowaKlasa
  1. <?php
  2. $test = new TestowaKlasa();
  3. ?>


a) Pobieranie lokalizacji klasy
  1. <?php
  2.  
  3. function __autoload($nazwa) {
  4. $lokalizacja = array(
  5. 'TestowaKlasa' => '/classes/b',
  6. 'Smarty' => '/libraries'
  7. );
  8.  
  9. require_once($lokalizacja.'/'.$nazwa.'.php');
  10. }
  11.  
  12. ?>


b) Wyszukiwanie wg nazwy klasy

Klasa nazywa się: Classes_B_TestowaKlasa i na podstawie jej nazwy robijam na lokalizację i nazwę.


Macie jakies inne, lepszejsze rozwiązania?
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: 23.08.2025 - 17:16