Co zrobić by nasze aplikacje PHP chodziły szybko? Odpowiedź prosta: wystarczy je z rozsądkiem zaprojektować i napisać.
Poniżej znajduje się spis tzw. „dobrych praktyk”, dzięki którym nasz kod PHP będzie wykonywał się szybciej i efektywniej.
Poniżej znajduje się spis tzw. „dobrych praktyk”, dzięki którym nasz kod PHP będzie wykonywał się szybciej i efektywniej.
- jeżeli tylko to możliwe zawsze stosujmy instrukcję echo zamiast print,
- instrukcja <?= ‘onomatopeja’ ?> jest równoznaczna z <?php echo(‘onomatopeja’) ?>, nie ma wpływu na wydajność, zabieg czysto estetyczny,
- jeżeli musimy wyświetlić zawartość kilku zmiennych nie łączmy ich, zamiast <?php echo(‘Mam na imię ‘.$imie.’, a nazwisko me brzmi ‘.$nazwisko’); ?> zastosujmy: Mam na imię <?= $imie ?>, a nazwisko me brzmi <?= $nazwisko ?>,
- jeżeli tylko mamy wybór to deklarujmy metody jako statyczne (static),
- używaj apostrofu zamiast cudzysłowia do cytowania stringów, używanie cudzysłowia powoduje, że PHP przeszukuje cytowany string pod kątem zmiennych, bardziej wydajne jest stosowanie konstrukcji <?= ‘Mam na imię ‘.$imie ?> zamiast <?= „Mam na imię $imie” ?>,
- jeżeli tylko możesz to zastępuj rozbudowane instrukcje warunkowe if instrukcją switch,
- podając ścieżkę do pliku znajdującym się w aktualnym katalogu zawsze dodawaj przedrostek „./„, dzięki temu system nie będzie przeszukiwał pozostałych ścieżek tylko od razu sięgnie do aktualnego katalogu, przykład: ./plik.php zamiast plik.php,
- koniecznie stosuj Output Buffering, możesz go włączyć w swoim kodzie za pomocą <?php ob_start(); ?> (wywoływane na samym początku każdego skryptu php) lub globalnie w pliku php.ini,
- zastanów się nad włączeniem kompresji http, za pomocą pliku php.ini lub w kodzie php; przykładowy kod:
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], ‘gzip’) && (ini_get(‘zlib.output_compression_level’) != ’1′))
{
ini_set(‘zlib.output_compression_level’, 1);
ob_start(‘ob_gzhandler’);
}