Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja kodu w php
Forum PHP.pl > Forum > PHP
fazi
Mam kilka pytań dotyczące przyśpieszenia pracy wykonywania skrypów oraz mniejszego obciążenia serwera przez userów portalu.

1. Czy warto mieć jeden plik z wszystkimi funkcjami czy lepiej sobie podzielić na mniejsze pliki(każda funksja to plik) i używać include ?
2. Jakie są metody wydajniejszego pisania kodu ? przeglądałem google znalazłęm ciekawe artykuły dotyczące używania switch zamist elseif itp ale czy możecie się podzielić własnymi radami?
3. Jak sobie poradzić z wieloma zapytaniami do bazy?
4. Czy pócz webcaching istnieją inne metody przyszpieszania wyświetlania stron i zdejmowania obciązenia z serwera?
Lejto
ja mam 1 plik z funkcjami strony menu i inne tesci 2 to połączenie z bazą i emoty i inne 3 do logowania i rejestracji
zamiast switch wole elseif
a przy wielu zapytaniach mysql_fetch_array albo mysql_fetch_object ustawiam zmienne i pisze
l0ud
Cytat
1. Czy warto mieć jeden plik z wszystkimi funkcjami czy lepiej sobie podzielić na mniejsze pliki(każda funksja to plik) i używać include ?


Jak to niewielkie funkcje to nie. Ja dzielę kod na mniejsze pliki, ale nie w przypadku funkcji, a klas. Każda klasa ma swój plik, przez to jest porządek i mogę np. szybko poprawić templates_class.php winksmiley.jpg Pamiętaj, że zbyt wiele include po prostu spowalnia kod (zaobserwowałem).

Cytat
2. Jakie są metody wydajniejszego pisania kodu ? przeglądałem google znalazłęm ciekawe artykuły dotyczące używania switch zamist elseif itp ale czy możecie się podzielić własnymi radami?


Oj... wiele tych rzeczy. Optymalizować zapytania do mysql'a, starać się używać gotowych funkcji zamiast pisać własne - mniej wydajne do tych samych celów. Stosować ' zamiast "" tam gdzie się da, unikać wielokrotnego wywołania jednej funkcji w pętli, kiedy nie jest to konieczne, np. zamiast:

  1. <?php
  2. for ($i=0; $i<count($array); $i++) {
  3. ?>


zrobić

  1. <?php
  2. for ($i=0, $b=count($file); $i<$b; $i++) {
  3. ?>


Cytat
3. Jak sobie poradzić z wieloma zapytaniami do bazy?


Cachowanie zapytań winksmiley.jpg Pełno o tym na forum.

Cytat
4. Czy pócz webcaching istnieją inne metody przyszpieszania wyświetlania stron i zdejmowania obciązenia z serwera?


Ja stosuję np. gzipa, który przyspiesza przesyłanie strony do przeglądarki i jednocześnie zmniejsza transfer od serwera winksmiley.jpg
Cysiaczek
Aby być w zgodzie z własnym sumieniem, należy każdą, nawet najmniejszą funkcję umieścić w jednym pliku o takiej samej nazwie jak jej nazwa. To samo dotyczy klas. Cała zabawa polega potem na pseudo kompilacji, czyli wydaniu polecenia, które nam te funkcje zbierze i wpakuje do jednego pliku, co przyśpieszy aplikację, a nasz projekt pozostanie nietknięty i zawsze łatwy w modyfikacji.

Pozdrawiam
l0ud
Cysiaczek, mówisz o swojego rodzaju buforze php, czy jakimś programie/skrypcie do tego służącym (chodzi o 'pseudo kompilację'). Jeżeli to drugie, to bardzo proszę o więcej informacji. smile.gif
Cysiaczek
Mówie o jakimś narzędziu, które konsoliduje pliki w pakiety.
Masz np. pliki, które zawsze występują razem, to robisz z nich jeden o nazwie np.
MyPackage.class.php i po prostu zyskujesz na tym, że autoloader nie musi pracować i inkludować np. 20 plików - każdego z osobna.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.