Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Optymalny kod i dobre nawyki, temat ogólny
deha21
post 6.05.2011, 18:11:25
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Jako, że zamierzam nieco zoptymalizować swoją stronę chciałbym się zapytać jakie są dobre nawyki w programowaniu php i mysql, takie żeby skrypty jak najmniej obciążały serwer i łącze internetowe. Poniżej podam przykłady, które znam i które pierwsze przychodzą mi na myśl. Jeśli znacie inne zasady to proszę o umieszczenie przykładu i krótkie wytłumaczenie. Jeżeli poniższe przykłady będą nieprawidłowe to też proszę o sprostowanie.

1. Skrypty PHP zaczynamy:
  1. <?php
  2. // bla bla bla
  3. ?>

A nie od krótkiego <?

2. Wypisywanie zmiennych możemy wypisać od przecinków:
  1. echo 'Zmienna: ',$zmienna,' i dalszy tekst';
Dowiedziałem się, że ten sposób jest zapożyczony z Pearla albo Pythona (nie pamiętam) i jest szybszy niż pozostałe.

3. Tekst w ECHO ubieramy w apostrofy, nie cudzysłowy:
  1. echo '<a href="#">Tekścik</a>';


4. Jeśli duża część strony nie wykorzystuje PHP najlepiej napisać większość kodu w HTMLu:
  1. <?php
  2. switch($argument) {
  3. case 1: ?>
  4. //duuużo kodu HTML
  5. <?php break;
  6. case 2: ?>
  7. // duuużo kodu HTML
  8. <?php break;
  9. }
  10. ?>
Bierze się to z tego, że w innym przypadku kod HTML jest generowany przez PHP a potem musi jeszcze zostać wyświetlony. Gdy zrobimy tak jak na powyższym przykładzie, przeglądarka sama wyświetli kod, nie wykorzystując serwera PHP.

5. Jeżeli kilka razy wykorzystujemy wartość pobraną z GET lub POST, najlepiej jest zapisać ją do zmiennej:
  1. $zmienna=$_GET['zmienna'];
  2. echo 'Witaj ',$zmienna,' Nazywasz się ',$zmienna,' I tak dalej',$zmienna;
Zapisanie do zmiennej np. wartości z GET pozwoli przy kolejnym wykorzystaniu na szybszy dostęp do niej.

Więcej grzechów nie pamiętam wink.gif


--------------------
Go to the top of the page
+Quote Post
prowseed
post 6.05.2011, 19:25:57
Post #2





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

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


Czytac manuala (+google) - w komentarzach czesto sie spotyka prawdziwe perelki + istnieje sporo malo znanych wbudowanych funkcji
Przy sprawdzaniu warunkow w if'ie najpierw boolean a pozniej obliczenia (dla danego boolean reszta jest nie sprawdzana przy warunku [boolean] or [jakies obliczenia])
uzywanie frameworkow, gotowych rozwiazan - nad nimi pracuje bardzo duzo ludzi i zazwyczaj kody sa po prostu dobre, szybkie i dopracowane (+ bezpieczne)
co do <? ?> i <?php ?> to nie ma to chyba wplywu na szybkosc, jedynie chodzi o standard (...chyba...)
cache bazy i plikow dynamicznych / minimalizacja zapytan do bazy
output buffering z kompresja
wywalic jak najwiecej niepotrzebnych obliczen z petli
trzeba uwazac na ilosc zmiennych, szczerze mowiac nie wiem jak to jest w php ale z logicznego punktu widzenia skrypt musi zarezerowowac pamiec na kazda zmienna (ostatnio sporo pisalem w pascalu pod 486 i mnie lapie zboczenie wink.gif )


--------------------
Go to the top of the page
+Quote Post
darko
post 6.05.2011, 20:24:28
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Przeczytaj artykuł i komentarze do niego.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Fifi209
post 6.05.2011, 21:18:41
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zamiast pisać temat, może byś POSZUKAŁ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
deha21
post 6.05.2011, 21:32:27
Post #5





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Genialne! Dzięki.
P.S. Szukać, szukałem ale nie wpadłbym na pomysł żeby wpisać "php benchmark" smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:57