Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Balans pomiędzy includowaniem plików php
soundtrack
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
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.
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: 15.10.2025 - 02:10