Podstawy PHP
Temat 1 - Wprowadzenie do pisania skryptów PHP (2010 r.)


W tym rozdziale:

  1. Czym jest język skryptów PHP
  2. Zagnieżdżanie skryptów na stronach WWW
  3. Stosowanie polecenia echo
  4. Deklarowanie zmiennych
  5. Wy?wietlanie zawarto?ci zmiennych

Czym jest PHP?

Pocz?tki PHP si?gaj? roku 1995, gdy Rasmus Lerdorf utworzy? zbiór skryptów i nazwa? go PHP/FI, czyli "Personal Home Page / Forms Interpreter". Kolejne wersje powstaj? do dnia dzisiejszego. Każda kolejna wersja rozszerza mo?liwo?ci jzyka. Składnia PHP głównie opiera się na języku Perl, ma tak?e wiele cech takich języków jak C czy Java. Jego istotną cech? jest mo?liwość zagnieżdżania w kodzie HTML, co czyni go bardzo wygodnym narzędziem do wydajnego tworzenia serwisów WWW. PHP jest bardzo elastycznym j?zykiem. Z jednej strony jest prosty do nauczenia si?, a z drugiej oferuje du?e możliwości zaawansowanemu programi?cie.

Dlaczego warto zainwestować swój czas na poznanie tego języka

  • jest on prosty i przyjazny dla programisty,
  • wszystkie narzędzia są darmowe,
  • jest on coraz bardziej popularny.
Co można zrobić w PHP?

PHP umożliwia pisanie skryptów typu klient-serwer, czyli wykonywanych po stronie serwera i udostępnia u?ytkownikowi tylko to, co jest potrzebne do wyświetlenia efektu dzia?ania skryptu. PHP umożliwia współpracę z formularzami, obsługą cookie, sesji, wysyłanie plików na serwer, obsługą baz danych. PHP sprawia, ?e strony internetowe stają się dynamiczne, odpowiadające zachowaniu lub potrzebom użytkownika.

Zagnieżdżanie kodu PHP w HTML

Skrypty języka PHP możemy umieścić wewnątrz kodu strony pisanej w j?zyku HTML. Skrypt umieszczamy pomiędzy znacznikami rozpoczęcia i zako?czenia.


Rys. 1_1 - Przyk?ad rozpocz?cia i zako?czenia skryptu

Pliki zawierające skrypty PHP muszą mieć rozszerzenie php (np. index.php). Tylko wtedy serwer WWW skieruje skrypty do interpretera. W odróżnieniu od plików html nie mo?na sprawdzi? poprawno?ci dzia?ania plików php bez wywo?ania ich za pomoc? protoko?u http. Krótko mówiąc - tworząc strony internetowe w HTML możemy otworzyć je w przeglądarce (np. poprzez podwójne kliknięcie), która interpretuje kod HTML i wyświetla stronę WWW. W przypadku PHP musimy plik umieścić na serwerze (gdzie jest obecny interpreter PHP) i wywo?ywa? stron? poprzez serwer WWW, czyli za pomoc? adresu rozpoczynaj?cego si? od http.

Napiszemy skrypt, który b?dzie osadzony w dokumencie html:



Rys. 1_2 - Przyk?ad osadzenia skryptu w kodzie HTML

?wiczenie 1_1 - Wyświetlenie napisu generowanego przez skrypt osadzony w dokumencie HTML

  1. Je?eli chcemy wypróbować działanie napisanych skryptów na komputerze lokalnym, nale?y zainstalować serwer WWW oraz interpreter PHP. (Odpowiednie informacje znajdują się w dodatku nr 1 - punkty 1 - 4).
  2. Nale?y umie?ci? na swoim koncie WWW plik index.html (do pobrania tutaj index.zip) z linkami do ćwiczeń i zadań. Prosz? zmodyfikować wygl?d strony, jeżeli jest taka potrzeba.
  3. Sprawdzamy, czy wyświetla się lista wywołując stronę za pomocą adresu: http://adres_strony
  4. Nale?y umieścić na swoim koncie WWW plik 01_01.php (do pobrania tutaj 01_01.zip), następnie wywołać stronę startową (ze spisem ćwiczeń i zada?) oraz kliknąć pierwszy link i obejrze? efekt dzia?ania skryptu 01_01.php
  5. Należy wy?wietlić źródło strony wygenerowanej przez skrypt 01_01.php. Czy widać w tym źródle znaczniki PHP (rozpoczęcie i zakończenie skryptu, polecenie echo)?

Polecenie echo, kończenie linii poleceń

Interpreter PHP wysyła do przeglądarki u?ytkownika tylko efekt dziaania skryptu (kod HTML). W skrypcie dla przesłania treści do przeglądarki (wyświetlenia np. tekstów) używa się polecenia echo.
Każdą linię poleceń kończy się średnikiem. W edytorze można złamać linie polecenia, jednak każde polecenie musi być zakończone średnikiem. Tak więc można ten sam skrypt napisać w dwojaki sposób (efekt działania obu skryptów błędzie taki sam):

<?php
echo'To jest tre?? przeznaczona do wy?wietlenia';
?>

<?php
echo'
To jest tre??
przeznaczona
do wy?wietlenia';
?>

Umieszczanie kodu HTML w skrypcie PHP

W poleceniu echo można umieścić cały kod strony pisany w HTML-u.


Rys 1_3. - Umieszczenie całego kodu strony w poleceniu echo

?wiczenie 1_2 - Wyświetlenie napisu generowanego przez skrypt, w którym został osadzony kod HTML

  1. Nale?y umie?ci? na swoim koncie WWW plik 01_02.php (do pobrania tutaj 01_02.php) oraz obejrzeć jego działanie.

Wyświetlanie informacji o błędach w skrypcie

Interpreter PHP może informował programistę o wykrytych błędach (min. składni) w uruchomionym skrypcie. Informacja taka zawiera numer wiersza skryptu, dlatego wygodnie jest do pisania skryptów stosował edytor, który numeruje wiersze.
Poni?szy kod zawiera błąd - brakuje otwarcia polecenia echo:

<?php
<HTML>
<head>
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>?wiczenia z PHP</title>
</head>
<BODY>
To jest tre?? strony.
</BODY>
</HTML>
';
?>


Rys 1_4. - przyk?ad wy?wietlenia informacji o b??dzie sk?adni

?wiczenie 1_3 - Wy?wietlenie komunikatu o b??dzie sk?adni

  1. Nale?y umie?ci? na swoim koncie WWW plik 01_03.php (do pobrania tutaj 01_03.zip) oraz obejrze? jego dzia?anie.

Mo?na tak skonfigurowa? interpreter PHP, aby nie generowa? on komunikatów o błędach. Operacja ta jest wręcz zalecana ze wzgl?du na bezpiecze?stwo serwera. Osoby postronne nie powinny mie? dost?pu do informacji o błędach, gdyż w taki sposób mogł otrzyma? informacje o strukturze witryny, co z kolei naraża serwer na ataki.
Jeżeli nie mamy możliwości zmian ustawień interpretera PHP, możemy wy??czy? komunikaty o błędach dla każdego wykonywanego skryptu.
Je?eli zakończymy pracę nad skryptem i sprawdzimy poprawność jego działania, warto zablokować wyświetlanie komunikatów o błędach:


Rys. 1_5. - polecenie zakazu generowania komunikatów o b??dach

Komentarze w kodzie PHP

W trakcie pisania d?u?szych programów warto opisywa? ich fragmenty, np. za co który jest odpowiedzialny. W PHP mamy do dyspozycji dwa rodzaje komentarzy:
- komentarz jednej linii (// jedna linia komentowana)
- komentarz blokowy ( /* linie komentowane */)


Rys 1_6. - przykład użycia komentarzy

Deklarowanie zmiennych, wyświetlanie wartości zmiennych

Zmienne to elementy programu, za które możemy w dowolnym miejscu podstawia? ró?ne warto?ci. Zmienne s? wa?nym elementem programowania w ka?dym j?zyku.
Aby powołać do życia zmienną w PHP stawiamy znak $ (dolar), jej nazwą, znak równości oraz przypisywaną wartość. Jeżeli zmienna jest tekstem, musimy ująć ją w cudzysłów lub apostrof. Deklarowanie zmiennej odbywa si? przez nadanie jej wartości. Interpreter sam rozpoznaje typ zmiennej.
$a=7;
$b="dowolny tekst";

Powy?szy zapis powoduje stworzenie zmiennej "a" o wartości liczbowej 7 oraz zmiennej "b" o warto?ci tekstowej równej "dowolny tekst".

Nazwy zmiennych:

  • muszą rozpoczynać się od litery,

  • mogą zawierać tylko litery (alfabetu łacińskiego) i cyfry,

  • nie mogł zawierać spacji


Rys 1_7 - Kod umożliwiający wyświetlenie warto?ci zmiennych

?wiczenie 1_4 - Wyświetlenie wartości zmiennych

  1. Należy umieścić na swoim koncie WWW plik 01_04.php (do pobrania tutaj 01_04.zip) oraz obejrzeć jego działanie.


W powy?szym przykładzie zastosowano cudzysłów przy poleceniu echo, zamiast wcześniej używanego apostrofu. Jeżeli zastosujemy apostrof tekst umieszczony w poleceniu echo nie b?dzie interpretowany, zostanie wyświetlony tak, jak został wprowadzony. Zamiast warto?ci zmiennej zostanie wyświetlona jej nazwa ze znakiem dolara. Je?eli u?yjemy cudzysłowu, pod nazwy zmiennych zostanie podstawiona ich warto??.
Prosz? w pliku 04.php zamienił cudzysłów na apostrof (przy poleceniu echo) i obejrze? dzia?anie skryptu po tej zmianie.

Jaki jest więc sens użycia apostrofu w poleceniu echo?
Je?eli umieszczamy w skrypcie PHP tekst do wyświetlenia w przegl?darce, który nie zawiera zmiennych, należy użyć apostrofu, aby interpreter niepotrzebnie nie analizował tego tekstu w poszukiwaniu zmiennych. W taki sposób przyspieszamy działanie skryptu.

Jeżeli w poleceniu echo użyjemy cudzysłowu i chcieliby?my za pomocą tego cudzysłowu wysłać cudzysłów do przegl?darki, musimy użyć znaku dossowności, np.

<?php
echo"<font color=\"red\">";
?>

W przeciwnym wypadku cudzysłów bez znaku dos?owno?ci (\) zostanie potraktowany jako element zamykaj?cy polecenie echo.

Nazwy zmiennych

PHP rozró?nia wielkoąść znaków, dlatego zmienne zapisane w nast?puj?cy sposób nie s? to?same: $A i $a - są to dwie różne zmienne.
Nazwa zmiennej nie mo?e si? rozpoczyna? od cyfry. Przyk?ady prawid?owego nazywania zmiennych $abcd $_01
Zaleca tak nazywa? zmienne, aby sama ich nazwa mówiła, czego te zmienne dotycz?, np. nazwa $x nic nie mówi o tym, co w niej przechowujemy, za to nazwa srednia_ocen sama w sobie jest rozpoznawalna przez pisz?cego program. 

 

Do zapamiętania

  1. Skrypt umieszczamy pomiędzy znacznikami otwarcia (<?php) i zamknięcia (?>)
  2. Pliki zawierające skrypty PHP mają mieć rozszerzenie php
  3. Aby sprawdzić działanie skryptu należy uruchomić go z wykorzystaniem protokołu http://
  4. Każdą linię kodu kończy znak średnika
  5. Polecenie echo służy do przekazania informacji do przeglądarki
  6. W poleceniu echo stosujemy apostrof lub cudzysłów (w zależności od tego, czy chcemy aby były interpretowane wartości zmiennych)
  7. Nazwa zmiennej musi rozpoczyna? si? od litery, nie może zawierać znaków specjalnych
  8. Je?eli używamy zastrzeżonego symbolu jako elementu cięgu tekstowego, musimy poprzedzić go znakiem dosłowności (\)

 


Powrót do spisu tematów