Skoro przeglądasz ten temat to znaczy, że chcesz nauczyć się używać PHP do tworzenia stron, a nawet aplikacji internetowych.
Poniżej znajdziesz spis treści, które porusza ten kurs.
- Wprowadzenie
+ Co to jest PHP?
+ Umieszczanie skryptów PHP na stronie
+ Błędy i debugowanie
2. Składnia języka
+ Komentarze
+ Zmienne i ich typy
+ Predefiniowane zmienne
3. Operatory
+ Operatory arytmetyczne
+ Operator przypisania
+ Operatory porównania
+ Operatory inkrementacji i dekrementacji
+ Operator ciągu
+ Operatory logiczne
4. Instrukcje warunkowe oraz pętle.
+ Instrukcja warunkowa if
+ Pętla FOR
+ Pętla while
+ Pętla do...while
+ Przerywanie pętli
+ Instrukcja warunkowa switch
1. Wprowadzenie
1. Co to jest PHP?
Cytat
W praktyce PHP używamy, aby rozszerzać możliwości stron internetowych. Jego składnia podobna jest do języków programowania C oraz C++, lecz o wiele uproszczona. Programista PHP zazwyczaj nie musi martwić się o poprawność typów zmiennych czy przydzielanie im pamięci.
2. Umieszczanie skryptów PHP na stronie
Aby plik był rozpoznawany przez serwer jako skrypt PHP musi posiadać odpowiednie rozszerzenie. Aktualnie używamy rozszerzenia .php, jednak w starszych wersjach stosowano rozszerzenia tj. .php3 .phtml czy .php4. Dzięki takiemu rozszerzeniu serwer wie, że musi "przepuścić" plik przez parser PHP.
Kod PHP umieszczamy pomiędzy znacznikami:
<? echo("Hello World!"); ?>
<?php echo("Hello World!"); ?>
<script language="php"> echo("Hello World!"); </script>
Każda z powyższych metod jest prawidłowa. Możesz używać której chcesz.
Po spojrzeniu na powyższy kod jesteś gotowy do napisania podstawowego skryptu każdego programisty - wyświetlającego napis Hello World!
3. Błedy i debugowanie
W przeciwieństwie do innych języków PHP wykonuje kod aż do napotkania błędu. Jeśli w konfiguracji serwera jest aktywna opcja odpowiedzialna za wyświetlanie błędów po otworzeniu strony powinniśmy ujrzeć czarny napis zawierający informacje na temat błędu. Niektóre edytory PHP zawierają debugger, który od razu sprawdza, czy nasz kod jest poprawny. Znacznie przyśpiesza to pracę programisty, gdyż od razu wiemy, czy popełniliśmy błąd. Istnieje również inna metoda debugowania skryptów. Otóż w kluczowych częściach kodu wstawiamy funkcję echo, która odpowiedzialna jest za wyświetlenie podanego przez nas tekstu na stronie internetowej. Przykładowe użycie tej funkcji możecie ujrzeć w przykładzie Hello World!
Jeśli chcemy sprawdzić wersje naszego PHP czy aktywne biblioteki możemy skorzystać z funkcji phpinfo();, która generuje stronę informacyjną. Możemy z niej odczytać m.in. katalog, w którym znajduje się plik konfiguracyjny php.ini.
2. Składnia języka
1. Komentarze
Komentarze są ważne w każdym języku programowania. Pomagają nam zrozumieć napisany przez nas kod. Są ignorowane przez parser, a więc to co tam napiszemy nie wpływa na pracę naszego skryptu, o ile zrobimy to dobrze.
Komentarze wstawiamy używając jednej z następujących metod:
// Nasza treść komentarza - tylko jedna linia /* Nasza treść komentarza - do znaku końcowego */
2. Zmienne i ich typy
Zmienna to identyfikator znakowy, któremu przypisano jakąś wartość. Na tym poziomie tyle powinieneś wiedzieć.
W PHP nie musimy martwić się o manualną inicjalizacje zmiennej czy narzucanie jej typu (czym charakteryzują się np. język C i jego pochodne). Zmienną tworzymy za pomocą znaku dolara $. Jej nazwa musi zaczynać się od litery lub od znaku underscore (zwanego czasami twardą spacją - _).
PHP rozpoznaje małe i duże litery w nazwach zmiennych, jak i innych elementów. Dlatego $Nazwa nie odnosi się do $nazwa. Poniżej znajduje się przykład użycia zmiennych:
<?php $integer = 1; // Zmiennej o nazwie 'integer' przypisywana jest wartość 1 $string = "Przykładowy tekst"; // Zmiennej 'string' przypisywany jest tekst echo($integer); // Po wykonaniu tego kodu ujrzymy 1 echo($string); // Po wykonaniu tego kodu ujrzymy - Przykładowy tekst ?>
Typy zmiennych:
- integer (liczba całkowita)
- string (ciąg znaków)
- double (liczba rzeczywista)
- object (obiekt)
- array (tablica)
Rzutowanie typów odbywa się poprzez podanie nowego typu w nawiasie przed zmienną lub wartością, której typ chcemy zmienić.
<?php $integer = 10; // Przypisujemy zmiennej 'integer' wartość 10; $integer = (int) 1.5634 // Wartość 1.5634 zostanie zamieniona na 2 ?>
Typy rzutowań:
- (int) lub (integer) - rzutuj do typu całkowitego
- (float), (double), (real) - rzutuj do typu rzeczywistego
- (string) - rzutuj do ciągu znaków
- (array) - rzutuj do tablicy
- (object) - rzutuj do obiektu
Dozwolone ciągi znakowe oznaczające dany typ:
- integer
- double
- string
- array
- object
Funkcja settype zwróci wartość true, jeśli typ zmiennej zostanie zmieniony. Wartość false zostanie zwrócona w przypadku wystąpienia problemu w czasie operacji.
3. Predefiniowane zmienne
Każdy skrypt ma dostęp do zmiennych, których wartość ustalana jest na podstawie zmiennych środowiskowych serwera WWW. Używamy ich jak normalnych zmiennych - poprzedzamy ich nazwy znakiem dolara $.
Cytat
- GATEWAY_INTERFACE - Informacja o specyfikacji CGI używanej przez serwer, np. 'CGI/1.1'.
- SERVER_NAME - Nazwa hosta serwera na którym skrypt jest uruchamiany. Jeśli skrypt pracuje na wirtualnym hoście, to zmienna przyjmie jako wartość nazwę wirtualnego hosta.
- SERVER_SOFTWARE - Ciąg identyfikujący serwera podawany przy odpowiadaniu na zapytania
- SERVER_PROTOCOL - Nazwa i numer wersji protokołu za pomocą którego wysłano zapytanie o stronę, np. 'HTTP/1.0';
- REQUEST_METHOD - Metoda zapytania użyta do uzyskania dostępu do strony, np. 'GET', 'HEAD', 'POST', 'PUT'.
- QUERY_STRING - Ciąg zapytania (jeśli takowy istnieje) za pomocą którego połączono się ze stroną.
- DOCUMENT_ROOT - Katalog główny drzewa dokumentów spod którego skrypt jest wykonywany - jest to ustawienie z pliku konfiguracyjnego serwera.
- HTTP_ACCEPT - Nagłówek z aktualnego zapytania, jeśli taki istnieje.
- HTTP_ACCEPT_CHARSET - Zawartość nagłówka "Accept-Charset" z aktualnego zapytania, jeśli taki istnieje, np. 'iso-8859-1,*,utf-8'.
- HTTP_ENCODING - Zawartość nagłówka "Accept-Encoding" z aktualnego zapytania, jeśli taki istnieje, np. 'gzip'.
- HTTP_ACCEPT_LANGUAGE - Zawartość nagłówka "Accept-Language" z aktualnego zapytania, jeśli taki istnieje, np. 'en'.
- HTTP_CONNECTION - Zawartość nagłówka "Connection" z aktualnego zapytania, jeśli taki istnieje, np. 'Keep-Alive'.
- HTTP_HOST - Zawartość nagłówka "Host" z aktualnego zapytania, jeśli taki istnieje.
- HTTP_REFERER - Adres strony (jeśli taka była), która wskazała przeglądarkę do tej strony. Wartość ta jest ustawiana przez przeglądarkę - nie wszystkie to robią.
- HTTP_USER_AGENT - Zawartość nagłówka "User-Agent" z zapytania, jeśli taki istnieje. Jest to ciąg informujący o przeglądarce która została użyta do obejrzenia bieżącej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć funkcji get_browser() aby dopasować funkcjonalność strony do przeglądarki użytkownika.
- REMOTE_ADDR - Adres IP z którego użytkownik ogląda bieżącą stronę.
- REMOTE_PORT - Port używany do komunikacji pomiędzy użytkownikiem a serwerem.
- SCRIPT_FILENAME - Ścieżka do aktualnie wykonywanego skryptu.
- SERVER_ADMIN - Wartość podana dla opcji SERVER_ADMIN w konfiguracji serwera WWW. Jeśli skrypt działa na wirtualnym serwerze, to będzie to wartość podana dla tego wirtualnego serwera.
- SERVER_PORT - Port na serwerze którego użyto do połączenia. Dla normalnych połączeń będzie to '80'.
- SERVER_SIGNATURE - Ciąg zawierający wersję i nazwę wirtualnego hosta który jest dodawany do stron generowanych przez serwer.
- SCRIPT_NAME - Zawiera ścieżkę do aktualnie wykonywanego pliku. Jest to przydatne do skyptów, które muszą wskazywać samego siebie.
- REQUEST_URI - URI który został podany aby uzyskać dostęp do tej strony.
- argv - Tablica argumentów przkazywanych do skryptu. Jeśli skrypt jest uruchamiany z linii poleceń, to zmienna ta daję dostęp do argumentów w stylu języka C. Jeśli jest wywołany przez metodę GET, to zmienna ta zawierać będzie ciąg parametrów (query string).
- argc - Zawiera liczbę parametrów podanych podanych do skryptu w linii poleceń (jeśli skrypt został wywołany z linii poleceń).
- PHP_SELF - Nazwa pliku aktualnie wykonywanego skryptu, względna do katalogu głównego dokumentów. Ta zmienna jest niedostępna jeśli PHP jest uruchamiany z linii poleceń.
- HTTP_COOKIE_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez HTTP cookies. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.
- HTTP_GET_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę GET. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.
- HTTP_POST_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę POST. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.
3. Operatory
1. Operatory arytmetyczne
Operatory arytmetyczne każdy powinien znać z podstawówki.
- + Dodawanie
- - Odejmowanie
- / Dzielenie (bez reszty)
- * Mnożenie
- % Modulo (reszta z dzielenia)
Operatorem przypisania jest symbol '='. W PHP, jak i wielu innych językach ten symbol nie oznacza 'jest równe'. Nadaje on zmiennym wartość.
<?php $first = 5; // Nadanie zmiennej 'first' wartości 5 $second = $first; // Nadanie zmiennej 'second' wartości zmiennej 'first' ?>
Jak powyższy przykład pokazuje możemy również nadawać zmiennym wartości innych zmiennych. Operator przypisania możemy łączyć z innymi.
<?php $first += 5; // Do zmiennej 'first' zostanie dodana wartość '5' (NIE NADANA) $first -= 5 // Od wartości zmiennej 'first' zostanie odjęte 5 $first *= 5 // Wartość zostanie pomnożona przez 5 $first /= 5 // Wartość zostanie podzielona przez 5 $first %= 5 // Wartość będzie resztą dzielenia przez 5 $first .= 'Jakiś ciąg' // Do zmiennej 'first' zostanie dodany ciąg 'Jakiś ciąg' (o tym operatorze dowiesz się później) ?>
3. Operatory porównania
Operatory porównania niezbędne są do używania instrukcji warunkowych. Zwracają one wartość true lub false.
- == (równy)
- != (nierówne)
- < (mniejsze)
- > (większe)
- <= (mniejsze bądź równe)
- => (większe bądź równe)
Działanie instrukcji warunkowych zostanie przedstawione Ci w następnym dziale.
4. Operatory inkrementacji i dekrementacji
Operatory inkrementacji i dekrementacji służą do zwiększania lub zmniejszania wartości danej zmiennej o 1.
Obydwa operatory można stosować na 2 sposoby: preinkrementacja/predekrementacja - najpierw wartość zmiennej zostanie zmieniona, a następnie zwrócona, lub postinkrementacji/postdekrementacji - najpierw zostanie zwrócona wartość, a następnie zmieniona.
- ++$q (preinkrementacja)
- $q++ (postinkrementacja)
- --$q (predekrementacja)
- $q-- (postdekrementacja)
Operator ciągu (znak '.') służy do łączenia kilku ciągów znakowych w całość.
<?php $first = 'To jest '; $second = 'test'; $third = $first.$second; // Wynik to - To jest test ?>
6. Operatory logiczne
Operatory logiczne służą do budowania bardziej skomplikowanych instrukcji warunkowych.
- $b && $c (AND - zwraca true, jeśli $b oraz $c są prawdą)
- $b || $c (OR - zwraca true, jeśli albo $b albo $c jest prawdą)
- !$a (NOT - zwraca true, jeśli $a nie jest prawdą)
1. Instrukcja warunkowa if
Instrukcje warunkową można spotkać w każdym języku programowania. Używamy jej do wykonania pewnych funkcji, ale tylko, gdy postawiony przez nas warunek zostanie spełniony.
<?php if(warunek) instrukcja wykonywana, gdy warunek zostanie spełniony else if(inny_warunek) instrukcja wykonywana, gdy inny_warunek zostanie spełniony else instrukcja wykonywana, gdy żaden z warunków nie został spełniony ?>
Warunkiem może być dowolne wyrażenie, które zwraca jakąś wartość, np. zmienna czy funkcja.
<?php
$a = 1;
$b = 2
$c = 1;
if($a == $B) // Jeśli $a jest równe $b - w tym przypadku jest to fałsz
echo("Ten kod nie wykona się");
else if($b < $c) // Jeśli $b jest mniejsze od $c - w tym przypadku jest to fałsz
echo("Ten kod nie wykona się");
else // Jeśli wszystkie powyższe warunki nie zostały spełnione
echo("Ten kod wykona się");
?>
Jeśli chcemy, aby po spełnieniu warunku wykonane zostało nie jedno, lecz kilka poleceń, to te polecenia musimy ująć w nawiasy klamrowe.
<?php
$a = 1;
$b = 2;
$c = 3;
if($a < $B) // Prawda
{
echo("Ten kod wykona się");
echo ("Ten też");
}
else
{
echo("Ten kod nie wykona się");
echo("Ten też nie");
}
?>
Instrukcje warunkowe oczywiście możemy umieszczać w innej instrukcji warunkowej.
Warunki instrukcji warunkowej możemy łączyć dzięki poznanym w poprzednim dziale operatorom (OR, AND).
Operator OR ma wyższy priorytet niż operator AND, dlatego w pewnym przypadkach musimy grupować warunki używając nawiasów.
<?php if( ($a > $b || $b < $c) && $c == $e) ?>
2. Pętla FOR
Czasem musimy wykonać jakiś kod określoną liczbę razy. Właśnie po to powstały pętle. Z pomocą przychodzi najczęściej stosowana pętla FOR.
<?php
for(inicjalizacja zmiennych ; warunek ; modyfikacja zmiennych)
{
instrukcje
}[
?>
Pętla FOR przyjmuje 3 argumenty: inicjalizacja zmiennych (ustalenie początkowych wartości dla zmiennych kontrolujących pętle), warunek (pętla będzie się wykonywać dopóki ten warunek nie zostanie spełniony), modyfikacja zmiennych (bez tego pętla wykonywała by się w nieskończoność).
<?php
for($a = 1; $a <= 10; a++)
{
echo $a."<br/>";
}
?>
Powyżej znajduje się przykład pętli, która wypisze cyfry od 1 do 10;
3. Pętla while
Inna odmiana pętli o nazwie while. Jest wykonywana do czasu, aż podany warunek nie zostanie spełniony.
<?php
$a = 1;
while($a <= 10){
echo $a."<br/>";
$a++;
}
?>
Powyższy kod to odpowiednik pętli FOR.
[KURS będzie uzupełniany codziennie o nowe treści]













