![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 31.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym, aby kod mojej aplikacji zawierał użyteczne klasy w oddzielnych plikach, ponadto korzystam ze wzorca projektowe MVC, który dołącza już jaką część plików.
Podsumowując: * załączenie pliku z konfiguracją skryptu i bazy danych * załączenie kontrolera * załączenie dziedziczonego kontrolera * załączenie modelu * załączenie dziedziczonego modelu * załączenie widoku * załączenie dziedziczonego widoku do tego dochodzi jakiś system szablonów, dajmy na to TWIG * załączenie systemu szablonów (pomijając fakt, że on sam załącza potrzebne mu pliki) * załączenie templatka (pomijając fakt, czy będzie on załączał np. nagłówek lub stopkę z oddzielnych szablonów) Otrzymuje w ten sposób 9 załadowań plików + index.php to w sumie 10. Jeśli postanowiłbym rozdzielić niektóre klasy aplikacji na pojedyncze pliki, w celu uzyskania czegoś w rodzaju bibliotek, to mógłbym otrzymać w rezultacie nawet >=20 załadowań. Zastanawia mnie jedno, jak serwer PHP dołącza pliki poprzez funkcje require/include, czy działa to na podobnej zasadzie co obrazki i podstrony w html tzn. klient wysyła żądanie o każdy plik, więc im jest ich więcej - tym dłużej to trwa w wyniku nałożonych ograniczeń, czy może serwer PHP łączy poprzez system operacyjny pliki w całość, dzięki czemu rozwiązuje to problem w podobie do html'owych żądań i programista nie musi się martwić o dużą liczbę includowanych plików. A może jest jakaś metoda, która pozwala na przyjazne rozszczepienie aplikacji na dużą ilość plików, bez jakichś strat (IMG:style_emoticons/default/wink.gif) Ten post edytował soundtrack 31.07.2014, 21:44:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dołączanie plików to nieco złożony temat i potrafi on wpłynąć istotnie na wydajność aplikacji, ale można go skrócić do kilku podstawowych zasad:
1. Powinieneś się trzymać konwencji PSR-0 i dalszych, tj. trzymać każdą klasę w osobnym pliku, a ładowaniem plików powinien zająć się jakiś autoloader. 2. Jeżeli korzystasz z PHP w wersji poniżej 5.5 koniecznie powinieneś upewnić się, że masz włączony jakiś akcelerator (np. APC) oraz że jest on skonfigurowany w taki sposób by trzymać cache'a opcode'u wszystkich plików. 3. Jeżeli masz sporo plików do załadowania (20 to o rząd wielkości za mało) możesz zainteresować się tematem łączenia wielu plików w jeden. Ale to powinno być wykonywane przez jakieś narzędzie w momencie deploy'u aplikacji na serwerze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 02:10 |