Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zalety autoloadera i map klas
bigZbig
post
Post #1





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Odnosnie map klas i autoloadera zastanawialem sie nad wydajnoscia ich stosowania. Co prawda mapa klas (oczywiscie zakladajac ze jest tworzona przy pomocy generatora) w polaczeniu z autoloaderem pozwala na ogromna elastycznosc w przenoszeniu plikow miedzy katalogami. Z drugiej strony majac ogromna liczbe klas - liczoną w setkach - taka mapa rozrasta nam sie do ogromnych rozmiarow. Dodawanie tablicy liczacej kilkaset pozycji, z ktorych w danym wywolaniu skorzystamy zaledwie z kilkunastu (no moze z kilkudziesieciu) jest zbednym balastem dla naszego skryptu.

Mozna oczywiscie zastosowac manewr z dzieleniem tablic na kilka mniejszych. Dla kazdego "narzedzia", "aplikacji", zestawu skryptow czy jak to nazwiemy tworzymy osobna mape klas, ale jest to jedynie rozwiazanie polowiczne. Jesli przykladowo stworzymy osobna mape dla naszego systemu szablonow, osobna dla abstrakcji dostepu do bazy danych itd. to jesli nawet wykonamy jedno najprostsze zapytanie i wyswietlimy jego wynik przy pomocy wspomnianego szablonu to i tak musimy dolaczyc zaikludowac mapy. Zapewne istnieje jakas bardziej rozsadna metoda zarzadzania mapa klas, ale w chwili obecnej nie przychodzi mi taka na mysl. Moze ktos z was taka zaproponuje.

Ja ze swej strony wole recznie dbac o dodawanie odpowiednich plikow. Jesli jakas klasa dziedziczy po innej to zwyczajnie w klasie dzidziczacej inkluduje plik z klasa rodzicielska. Jedyny problem to niekiedy niepotrzebne sprawdzanie include_once w chwili kiedy dana klasa jest juz dodana. Inna niedogodnoscia jest utrata elastycznosci ale udalo mi sie to do pewnego stopnia obejsc przy pomocy definiowania stalej oraz dirname(__FILE__).

Co sadzicie o wydajnosci stosowania automap i autoloadera oraz czy waszym zdaniem lepiej miec wieksza swobode w przemieszczaniu plikow czy bardziej zoptymalizowana aplikacje i czy ta optymalizacja jest naprawde warta zachodu jakim jest reczna dłubanina?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bigZbig
post
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Ok mapa fajna rzecz jak sie buduje wlasna aplikacje, ale jesli chcialbym wlaczyc moje skrypty do cudzego frameworka to albo zabieram ze soba rowniez mojego generatora map i dostosowuje wszystko do lokalnego autoloadera, albo korzystam z generatora danego frameworka .

Hej czy tak naprawde ten autoloader nie jest troszke rozwiazaniem dla leniwych? Jak czesto sie zmienia strukture plikow. W momencie - nazwijmy to - oddania aplikacji do uzytku uklad plikow powinien byc juz ustabilizowany. Osobiscie rozwazam uzywanie generatora map jedynie na etapie tworzenia, testowania skryptow, ewentualnie do wygenerowania sobie sciezek, ktore pozniej wkleje do instrukcji include_once. W moim autoloaderze zaimplementuje mechanizm raportowania kazdego uzycia, albo alert ze dana klasa zostala wlaczona przy pomocy autoloadera. W ten sposob nie zapomne o dolaczeniu zadnego pliku przed ostatecznym "oddaniem go do uzytku".

Mam tez inny pomysl aby stworzyc taki generator, ktory wygeneruje mape klas i na tej podstawie w kazdym pliku zawierajacym include_once zaktualizuje sciezke do odpowiedniej klasy. Oczywiscie skrypt ten bylby uruchamiany tylko w chwili reorganizacji struktury plikow.
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: 3.10.2025 - 02:31