Czym jest PHP? Pocz ˛atki PHP to rok 1995, kiedy Rasmus Lerdorf
Transkrypt
Czym jest PHP? Pocz ˛atki PHP to rok 1995, kiedy Rasmus Lerdorf
Czym jest PHP? Poczatki ˛ PHP to rok 1995, kiedy Rasmus Lerdorf opracował skrypt, którego zadaniem było zliczanie ile osób odwiedza jego witryn˛e i wyświetlanie tej informacji na stronie. Skrypt zyskał duża˛ popularność i Rasmus Lerdorf rozwinał ˛ go, w ten sposób powstało PHP 2.0 (1997). Od poczatku ˛ PHP jest projektem open source. Kolejne wersje dodawały wiele nowych możliwości. Najnowsza stabilna wersja to PHP 7.0 (grudzień 2015). Cały czas wspierane sa˛ poprzednie wersje 5.5 i 5.6. Oficjalna definicja PHP mówi: PHP jest j˛ezykiem skryptowym osadzanym w kodzie HTML. Oznacza to, że komendy PHP moga˛ si˛e przeplatać ze znacznikami HTML. Ułatwia to stworzenie dynamicznej strony WWW. Wystarczy w kodzie dokumentu HTML osadzić odpowiednie instrukcje PHP. Skrypty PHP sa˛ wykonywane po stronie serwera. Jak działa PHP? PHP jest j˛ezykiem używanym po stronie serwera, czyli kod jest przechowywany po stronie serwera, który udost˛epnia strony WWW przegladarkom ˛ internetowym klientów. Kiedy użytkownik wchodzi na stron˛e WWW napisana˛ w PHP, serwer odczytuje instrukcje PHP i odpowiednio je przetwarza. Na przykład, kod PHP może odpowiadać za utworzenie dokumentu HTML, który nast˛epnie serwer przekaże przegladarce. ˛ Możliwości PHP to m.in. interakcja z bazami danych (natywna obsługa wielu najpopularniejszych), obsługa formularzy, tworzenie dynamicznych stron WWW. Wi˛ecej na http://php.net/ Jak działa PHP? PHP jest j˛ezykiem używanym po stronie serwera, czyli kod jest przechowywany po stronie serwera, który udost˛epnia strony WWW przegladarkom ˛ internetowym klientów. Kiedy użytkownik wchodzi na stron˛e WWW napisana˛ w PHP, serwer odczytuje instrukcje PHP i odpowiednio je przetwarza. Na przykład, kod PHP może odpowiadać za utworzenie dokumentu HTML, który nast˛epnie serwer przekaże przegladarce. ˛ Miejsce PHP w architekturze klient-serwer: Jak działa PHP? PHP jest j˛ezykiem używanym po stronie serwera, czyli kod jest przechowywany po stronie serwera, który udost˛epnia strony WWW przegladarkom ˛ internetowym klientów. Kiedy użytkownik wchodzi na stron˛e WWW napisana˛ w PHP, serwer odczytuje instrukcje PHP i odpowiednio je przetwarza. Na przykład, kod PHP może odpowiadać za utworzenie dokumentu HTML, który nast˛epnie serwer przekaże przegladarce. ˛ Skrypty PHP sa˛ wykonywane na serwerze, zatem do ich działania potrzebny jest serwer WWW zawierajacy ˛ interpreter PHP, np. Apache. Wygodnym środowiskiem, w którym można uruchamiać skrypty PHP jest XAMPP: darmowa i łatwa w instalacji dystrybucja Apache zawierajaca ˛ m.in. PHP, Perl i MySQL-a. XAMPP jest wst˛epnie skonfigurowany i łatwy w użyciu. Strona domowa https://www.apachefriends.org/pl/index.html. Składnia - podstawy Kod PHP umieszczamy w dokumencie HTML pomi˛edzy para˛ znaczników <?php ?> Wszystko pomi˛edzy tymi znacznikami, zostanie potraktowane jako kod PHP. Skrypt PHP zapisujemy z rozszerzeniem .php. Składnia - podstawy Przykładowy skrypt PHP: <html> <head> <title>Pierwszy skrypt php</title> </head> <body> <?php echo "Przykładowy tekst na stronie"; ?> </body> </html> Instrukcja echo wyświetla to, co podamy jako argument. Tekst można podawać w cudzysłowiu lub w apostrofach. Każda˛ instrukcj˛e kodu należy kończyć średnikiem. Składnia - podstawy Przykładowy skrypt PHP: <html> <head> <title>Pierwszy skrypt php</title> </head> <body> <?php echo "Przykładowy tekst na stronie"; ?> </body> </html> Składnia - podstawy Przykładowy skrypt PHP: <html> <head> <title>Pierwszy skrypt php</title> </head> <body> <?php echo "Przykładowy tekst na stronie"; ?> </body> </html> Instrukcja echo wyświetla to, co podamy jako argument. Tekst można podawać w cudzysłowiu lub w apostrofach. Każda˛ instrukcj˛e kodu należy kończyć średnikiem. Używajac ˛ XAMPPa, skrypty PHP zapisujemy w katalogu xampp/htdocs (najlepiej stworzyć kolejny podkatalog, np. moje). Skrypt test.php zapisany w katalogu moje b˛edzie pod adresem http://localhost/moje/test.php Komentarze Zmienne Aby wstawić komentarz mieszczacy ˛ si˛e w jednym wierszu, używamy //. Komentarz blokowy: /* */. Uwaga. Na poczatku ˛ skryptu warto umieścić w komentarzach info o dacie utworzenia skryptu, autorze, przeznaczeniu skryptu. Nie powinno si˛e zagnieżdżać komentarzy blokowych. PHP jest j˛ezykiem słabo typowanym. Oznacza to, że zmienne nie maja˛ nadanych sztywno typów, lecz w miar˛e potrzeby kompilator może niejawnie rzutować sobie typy na odpowiednie dla niego w danym momencie, tzn., dostosowuje zawartość zmiennej w sposób, w jaki potrafi. Zatem, PHP nie wymaga deklarowania zmiennych ani ich inicjalizowania. Podstawowe typy zmiennych to łańcuchowe (czyli zawierajace ˛ tekst), liczbowe (całkowite i zmiennpprzecinkowe) oraz logiczne. Nazwa zmiennej w PHP musi zaczynać si˛e od znaku $, np. $ile. PHP rozróżnia wielkie i małe litery w nazwach zmiennych. Nazwa zmiennej może zawierać litery, cyfry lub znak podkreślenia (ale cyfra nie może być na poczatku). ˛ Operator przypisania: $ile = 9. Wypisanie wartości zmiennej: echo $ile; lub echo "Licznik wynosi $ile"; Uwaga. W cudzysłowiu. Użycie apostrofów spowoduje wypisanie nazwy zmiennej a nie jej wartości. Stałe Tworzenie stałej: define(nazwa, wartość). Uwaga. tak stworzona stała jest stała˛ globalna.˛ Nazwa stałej musi zaczynać si˛e od litery lub podkreślnika. PHP rozróżnia wielkość liter w nazwie stałej, np. <?php define(vat,23); define(VAT,12); echo vat;// 23 echo VAT;// 12 ?> Można też stworzyć stała˛ w ten sposób, że PHP nie b˛edzie zwracało uwagi na wielkość liter w nazwie, np. <?php define(cena,45,true); echo Cena;// 45 ?> Łańcuchy Aby utworzyć zmienna˛ typu łańcuchowego, wystarczy pod nazw˛e zmiennej przypisać dowolny łańcuch, np. $nazwisko=’Nowak’ lub $imie="Alicja", łańcuchy podajemy w apostrofach lub cudzysłowiach. uwaga. Jeżeli wewnatrz ˛ łańcucha pojawia si˛e znak ’ lub ", to należy taki znak poprzedzić przez symbol \ np. ’A\’Tomek’ lub "Powiedział \"To nie jest PHP\" " Jeżeli chcemy wyświetlić wartość zmiennej w obr˛ebie innego tekstu, należy użyć echo lub print, tekst podajemy w cudzysłowiach: echo "Podałeś jako nazwisko: $nazwisko"; Łańcuchy Aby utworzyć zmienna˛ typu łańcuchowego, wystarczy pod nazw˛e zmiennej przypisać dowolny łańcuch, np. $nazwisko=’Nowak’ lub $imie="Alicja", łańcuchy podajemy w apostrofach lub cudzysłowiach. uwaga. Jeżeli wewnatrz ˛ łańcucha pojawia si˛e znak ’ lub ", to należy taki znak poprzedzić przez symbol \ np. ’A\’Tomek’ lub "Powiedział \"To nie jest PHP\" " Jeżeli chcemy wyświetlić wartość zmiennej w obr˛ebie innego tekstu, należy użyć echo lub print, tekst podajemy w cudzysłowiach: echo "Podałeś jako nazwisko: $nazwisko"; Operator łaczenia ˛ napisów: . Niektóre funkcje tekstowe strlen() - zwraca długość tekstu int strlen ( string $string ) strtolower() - zamienia tekst na małe litery string strtolower ( string $string ) strtoupper() - zamienia tekst na wielkie litery string strtoupper ( string $string ) substr() - wycina podciag ˛ od zadanej pozycji startowej i o podanej długości string substr ( string $string , int $start [, int $length ] ) echo "Pierwszy tekst"."Drugi tekst"; print "Podałeś jako nazwisko:".$nazwisko; Niektóre funkcje tekstowe Liczby strlen() - zwraca długość tekstu int strlen ( string $string ) strtolower() - zamienia tekst na małe litery string strtolower ( string $string ) strtoupper() - zamienia tekst na wielkie litery string strtoupper ( string $string ) substr() - wycina podciag ˛ od zadanej pozycji startowej i o podanej długości string substr ( string $string , int $start [, int $length ] ) Dużo wi˛ecej funkcji na stronie http://php.net/manual/en/ref.strings.php Typy liczbowe w PHP: liczby całkowite (integer), np. $a = 1234; $b = -123; lub zmiennoprzecinkowe (float), np. $a = 1.234; Zakres typu float zależy od platformy, zazwyczaj maksymalnie 1.8E308 z dokładnościa˛ do około 14 cyfr dziesi˛etnych. Liczby Funkcje matematyczne Typy liczbowe w PHP: liczby całkowite (integer), np. $a = 1234; $b = -123; lub zmiennoprzecinkowe (float), np. $a = 1.234; Zakres typu float zależy od platformy, zazwyczaj maksymalnie 1.8E308 z dokładnościa˛ do około 14 cyfr dziesi˛etnych. Pełna lista: http://php.net/manual/en/book.math.php Przykłady: float round ( float $value [, int $precision = 0] ) funkcja zaokragla ˛ liczb˛e z zadana˛ precyzja˛ Operatory liczbowe: +, -, *,/ oraz % (zwraca reszt˛e z dzielenia); operatory inkrementacji $i++; ++$j; i dekrementacji $i−−; −−$j;. Funkcje matematyczne Pełna lista: http://php.net/manual/en/book.math.php Przykłady: float round ( float $value [, int $precision = 0] ) funkcja zaokragla ˛ liczb˛e z zadana˛ precyzja,˛ np. echo echo echo echo echo echo round(3.4); // 3 round(3.5); // 4 round(1.95583, 2); // 1.96 round(1241757, -3); // 1242000 round(5.045, 2); // 5.05 round(5.055, 2); // 5.06 Funkcje matematyczne Pełna lista: http://php.net/manual/en/book.math.php Przykłady: float round ( float $value [, int $precision = 0] ) funkcja zaokragla ˛ liczb˛e z zadana˛ precyzja˛ Formatowanie liczby: funkcja number_format(): string number_format ( float $number [, int $decimals = 0 ] ) string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) Może przyjmować jeden, dwa lub cztery argumenty. Funkcje matematyczne Instrukcja warunkowa If...Elseif...Else Pełna lista: http://php.net/manual/en/book.math.php Przykłady: Możliwe formy instrukcji if: float round ( float $value [, int $precision = 0] ) if (warunek) { instrukcje jeżeli true; } funkcja zaokragla ˛ liczb˛e z zadana˛ precyzja˛ Formatowanie liczby: funkcja number_format(): string number_format ( float $number [, int $decimals = 0 ] ) string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) Może przyjmować jeden, dwa lub cztery argumenty. $number = 1234.56; // notacja angielska (default) $ang = number_format($number);// 1,235 // notacja polska $pol = number_format($number, 2, ’,’, ’ ’); // 1 234,56 Instrukcja warunkowa If...Elseif...Else Możliwe formy instrukcji if: if (warunek1) { instrukcje jeżeli warunek1 true; } elseif (warunek2) { instrukcje jeżeli warunek2 true; } else { instrukcje jeżeli wszystkie warunki false; } lub if (warunek) { instrukcje jeżeli true; } else { instrukcje jeżeli false; } Instrukcja warunkowa switch Switch daje możliwość wyboru, który blok kodu ma zostać wykonany, w zależności od wartości zmiennej. switch (n) { case etykieta1: instrukcje jeżeli n=etykieta1; break; case etykieta2: instrukcje jeżeli n=etykieta2; break; case etykieta3: instrukcje jeżeli n=etykieta3; break; ... default: instrukcje jeżeli n jest różne od wszystkich etykiet; } P˛etle P˛etla WHILE P˛etla WHILE wykonuje blok kodu, tak długo, jak długo zadany warunek jest prawdziwy. W PHP mamy p˛etle: while do...while for foreach (przebiega tablic˛e) P˛etla WHILE P˛etla WHILE wykonuje blok kodu, tak długo, jak długo zadany warunek jest prawdziwy. while (warunek jest true) { instrukcje do wykonania; } Przykład p˛etli WHILE: <?php $x = 1; while($x <= 5) { echo "Liczba x wynosi: $x <br>"; $x++; } ?> while (warunek jest true) { instrukcje do wykonania; } P˛etla DO...WHILE P˛etla DO...WHILE różni si˛e od WHILE tym, że warunek sprawdzany jest na końcu, a nie na poczatku. ˛ P˛etla DO...WHILE zawsze wykona si˛e co najmniej raz. do { instrukcje do wykonania; } while (warunek jest true); P˛etla DO...WHILE P˛etla DO...WHILE różni si˛e od WHILE tym, że warunek sprawdzany jest na końcu, a nie na poczatku. ˛ P˛etla DO...WHILE zawsze wykona si˛e co najmniej raz. do { instrukcje do wykonania; } while (warunek jest true); P˛etla FOR P˛etla FOR wykonuje blok kodu określona˛ liczb˛e razy. for (wyrażenie poczatkowe; ˛ warunek; wyrażenie końcowe) { instrukcje do wykonania; } Przykład: <?php $x = 1; do { echo "Liczba x wynosi: $x <br>"; $x++;} while($x <= 5) ?> P˛etla FOR P˛etla FOR wykonuje blok kodu określona˛ liczb˛e razy. for (wyrażenie poczatkowe; ˛ warunek; wyrażenie końcowe) { instrukcje do wykonania; } Przykład: <?php for ($x = 1; $x <= 5; $x++) { echo "Liczba x wynosi: $x <br>"; } ?> Tworzenie własnych funkcji Oprócz wbudowanych funkcji PHP, możemy tworzyć własne funkcje. Funkcja jest blok instrukcji, które moga˛ być wielokrotnie wykorzystywane w programie. Funkcja nie b˛edzie wykonana natychmiast po załadowaniu si˛e stron — funkcja zostanie wykonana w momencie wywołania funkcji. Tworzenie własnych funkcji Prosta funkcja bez parametrów Oprócz wbudowanych funkcji PHP, możemy tworzyć własne funkcje. Funkcja jest blok instrukcji, które moga˛ być wielokrotnie wykorzystywane w programie. Funkcja nie b˛edzie wykonana natychmiast po załadowaniu si˛e stron — funkcja zostanie wykonana w momencie wywołania funkcji. Aby stworzyć funkcj˛e, używamy słowa kluczowego function: function nazwaFunkcji() { kod wykonywany; } <?php function wypisz(){ // definicja funkcji echo ’Hello!’;} echo ’To jest funkcja bez żadnych parametrów.<br>’; echo wypisz(); //wywołanie funkcji ?> Uwaga: PHP nie rozróżnia wielkości liter w nazwach funkcji. Nazwa funkcji może zaczynać si˛e od litery lub podkreślnika. Funkcja zwracajaca ˛ wartość: RETURN <?php function liczCos(){ // definicja funkcji $x=90; $x=round($x/7+15); return $x; } $liczba=liczCos(); echo ’Wynik funkcji: ’.$liczba; ?> Funkcja z parametrami wejścia <?php function sumaParzystych($start,$stop){ $suma=0; for($i=$start;$i<=$stop;$i++) if($i%2==0){$suma+=$i;} return $suma; } ?>