Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydajność __autoload, jak zrobić żeby się nie narobić i nic nie zepsuć
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zastanwiam się na użyciem __autoload w moim nowy projekcie. Wiem, że na php pro jest wątek na temat optymalizacji __autoload, ale mi zależy na prostym rozwiązaniu bo i projekt jest mały w porywach do średniego.

zrobiłem coś takiego jak poniżej - proste, że aż boli, ale o to chodzi:
  1. <?php
  2. function __autoload($class)
  3. {
  4. //Tablica potencjalnych lokalizacji klas php
  5. $paths=array(MODEL_DIR, MODEL_DIR.'dao/', HELPER_CLASSES_DIR, );
  6. foreach($paths as $path)
  7. {
  8. $file=$path. $class. '.php';
  9. if (file_exists($file))
  10. {
  11. require_once($file);
  12. }
  13. }
  14. }
  15. ?>


Jak widać rozwiązanie polega na wszytaniu wszystkich potencjalnych katalogów, w których znajdują się klasy php i następnie przeszukaniu ich w poszukiwaniu danej klasy.
Docelowo w projekcie będzie jakieś +/- 200 klas w 8-10 katalogach. Czy to rozwiązanie jest "ok" czy raczej niezbyt racjonalne - chodzi oczywiście o wydajność. Nie wiem jaki jest koszt przeszukania kilku katalogów - może lepiej zrobić mniej katalogów?

Co o tym myślicie. Dodam, że wolałbym uniknąć mapowania plików w tablicach itp - chodzi mi o bardzo proste i w miarę wydajne rozwiązanie.
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: 22.08.2025 - 14:18