2009-11-27 14:24:23

Podstawy wyświetlania danych w php

Częstym problemem programistów (nie tylko początkujących) jest optymalizacja kodu. Tymczasem mało kto przejmuje się najprostszymi metodami odciążania serwera. Bo czy jest coś prostszego i bardziej powszechnego niż wyświetlanie tekstu przez php. W tym tekście zajmę się instrukcją echo, ale przedstawione zasady są dosyć uniwersalne i przez większość osób niestety zaniedbywane.

echo jest najprostszą instrukcją do wyświetlania tekstu. Można wywołać ją z tekstem przekazanym przez zmienną:

<?php
$tekst='Ala ma kota.';
echo $tekst;
?>

przez łańcuch znaków umieszczony w apostrofach:

<?php
echo 'Ala ma kota.';
?>

lub łańcuch znaków umieszczony w cudzysłowie:

<?php
echo "Ala ma kota.";
?>

Wszystkie trzy sposoby wyświetlą dokładnie to samo. Można też przekazać do instrukcji echo tekst razem ze zmiennymi.

<?php
$zwierz='kota';
echo "Ala ma $zwierz.<br />";
$zwierz='tygrysa';
echo "Ala ma $zwierz.";
?>

Efektem powyższego będą dwie linijki tekstu:

Ala ma kota.
Ala ma tygrysa.

Zmienne umieszczone w cudzysłowie zostaną zinterpretowane. Inaczej jest w przypadku apostrofów. Kod w postaci:

<?php
$zwierz='kota';
echo 'Ala ma $zwierz.<br />';
$zwierz='tygrysa';
echo 'Ala ma $zwierz.';
?>

da efekt nieco odmienny:

Ala ma $zwierz.
Ala ma $zwierz.

Czysty tekst lepiej jest umieszczać w apostrofach niż w cudzysłowie. Cała zawartość cudzysłowu jest przetwarzana przez php co bardziej obciąża serwer. Przy jednej linijce i małej liczbie odwiedzin można to pominąć, ale przy większym serwisie to już jest różnica. Umieszczając tekst ze zmiennymi najlepiej jest stosować apostrofy dla tekstu, a zmienne dołączać operatorem konkatenacji (czyli kropki).

<?php
$zwierz='kota';
echo 'Ala ma '.$zwierz.'.<br />';
$zwierz='tygrysa';
echo 'Ala ma '.$zwierz.'.';
?>

Tu efekt będzie zgodny z oczekiwaniami, a przy tym serwer mniej obciążony.

Ala ma kota.
Ala ma tygrysa.

Jeżeli już ktoś upiera się przy cudzysłowie, to nie ma powodu stosować operatora konkatenacji. Dwie pierwsze linie kodu będą dawały identyczny efekt i podobnie obciążają serwer. Trzecia linia jest bardziej przyjazna dla procesora.

<?php
echo "Zamówienie nr" . $numer . " zostało przyjęte przez " . $user;
echo "Zamówienie nr $numer zostało przyjęte przez $user";
echo 'Zamówienie nr' . $numer . ' zostało przyjęte przez ' . $user;
?>

Tagi: ,

Dodaj odpowiedź

Musisz się zalogować aby dodać komentarz.