Przejdź do głównej zawartości

PHP cz.1



PHP i MySQL
W dzisiejszych czasach trudno sobie wyobrazić zwykłe , statyczne strony tworzone w HTML-u . Obecnie nawet stosunkowo nieskomplikowane witryny są generowane dynamicznie za pomocą języków skryptowych , a ich zawartość jest tworzona na podstawie informacji zawartych w bazach danych . Najpopularniejszym narzędziem wykorzystywanym do budowania dynamicznych stron WWW są PHP i MySQL 

Czym jest PHP?
Jest bardzo popularnym językiem skryptowym ogólnego przeznaczenia , najczęściej jednak kojarzony jest z dynamicznym przetwarzaniem i generowaniem stron internetowych . Możliwości PHP są doprawdy imponujące . Może współpracować z większością systemów operacyjnych 

Krótka historia PHP
Początki PHP sięgają końca roku 1994 , kiedy to Reasmus Leadorf stworzył pierwotną wersję tego narzędzia , która służyła do śledzenia odwołań do jego prywatnej strony WWW . Ich funkcjonalność była niewielka , jednak zainteresowanie spore . Dlatego na początku roku 1995 została opublikowana publiczna wersja PHP/FI . Dwa lata później została ogłoszona wersja PHP/FI 2.0. Popularność PHP rosła bardzo szybko , okazało się jednak , że projekt ten ma mnóstwo ograniczeń , które mogą uniemożliwić stosowanie go w dużych serwisach internetowych . Dlatego już w 1997 roku Andi Gutmans i Zeev Suraski , dwaj izraelscy programiści przystąpili do całkowitego przepisania kodu . Produkt okazał się na tyle dobry , że zarzucono pracę nad PHP/FI 2.0 , a nowy produkt nazwano PHP 3.0 . Wersja to została opublikowana w 1998 roku . Najnowsza wersja PHP to PHP 7.0 , w tej wersji wprowadzono wiele nowości , oraz w dużym stopniu przepisano silnik , na którym działa PHP , czyli Zend Engine co dało znaczące przyśpieszenie działania 

Niezbędne narzędzia
Przed rozpoczęciem nauki PHP i MySQL należy zainstalować odpowiednie narzędzia , a mianowicie :
środowisko PHP
serwer www
serwer baz danych MySQL

Pierwszy Skrypt
Program wyświetlający dowolny napis 


Cały kod skryptu musi być najpierw przetworzony przez serwer , zanim strona zostanie wysłana do przeglądarki 

Jak to działa ?
Gdy pobierana jest zwykła strona HTML , przeglądarka wysyła do serwera żądanie pobrania strony o danym adresie , a serwer odczytuje dane i wysyła je do przeglądarki . Po otrzymaniu danych przeglądarka interpretuje je i wyświetla na ekranie . Jeżeli w pliku z kodem strony znajdzie się skrypt php przeglądarka otrzyma stronę razem z kodem PHP i zazwyczaj fragmenty tego skryptu pojawią się na witrynie . Oczywiście tak być nie może , pamiętajmy jednak , że podczas konfiguracji serwera pliki z rozszerzeniem .php zostały skojarzone z zewnętrznym programem . Zatem serwer wie , że zawartości pliku z rozszerzeniem .php nie może od razu wysłać do przeglądarki . Postępowanie jest więc w tym przypadku następujące :
Przeglądarka wysyła do serwera żądanie pobrania strony o danym adresie
Serwer pobiera stronę z dysku . Ponieważ plik ma rozszerzenie php serwer wysyła do modułu PHP żądanie przetworzenia danych znajdujących się w pliku
Moduł PHP przetwarza dane , inaczej mówiąc , wykonuje zawarty w pliku skrypt , i wysyła jes z powrotem do serwera 
Serwer na zakończenie wysyła przetworzone dane do przeglądarki 

Moduł PHP przetwarza jedynie te fragmenty pliku , które zawiera kod PHP . Pozostała część , zawierająca kod HTML , pozostaje niezmieniona . Dlatego też wszystkie instrukcje PHP muszą być ujęte w specjalne znaczniki 

Umieszczanie skryptów w kodzie HTML
Znaczniki kanoniczne to standardowe znaczniki PHP . Znacznik otwierający to <?php , natomiast zamykający to ?> Znaczniki tego typu są rozpoznawane zawsze , i to nie zależnie od tego , jakie opcje są włączone w pliku konfiguracyjnym . Jest również zalecany sposób umieszczania znaczników PHP

Znaczniki skryptów HTML - ta postać jest dobrze znana użytkownikom HTML . To typowy znacznik <script> z parametrem language ustawionym na php . Wersja ta w PHP7 została usunięta .

Znaczniki typu SGML - Są to znaczniki w postaci skróconej . Znacznikiem otwierającym jest <? , natomiast zamykającym jest ?> . Nie zaleca się stosowania tego typu znaczników , ponieważ taka konfiguracja nie jest standardowo dostępna na wszystkich serwerach , a więc kod ten jest mniej przenośny . 

Znaczniki typu ASP - Są znane użytkownikom technologii ASP . Znacznik otwierający to <% , natomiast zamykający to %> . W PHP 7 usunięto możliwość stosowania tych znaczników 

Skrypty zewnętrzne

Często dąży się do rozdzielenie kodu PHP i HTML , a także do dzielenie kodu skryptów PHP na osobne części funkcjonalne . W takiej sytuacji skrypt można wczytać za pomocą instrukcji include lub require . Podczas wywołania instrukcji include lub require następuje wyjście z trybu php . Różnica pomiędzy include i require ujawnia się w momencie , kiedy wybrany plik nie może zostać wczytany . W przypadku instrukcji include wygenerowane zostanie ostrzeżenie , ale skrypt , w którym było zawarte wywołanie include , będzie kontynuował działanie . Z kolei w przypadku require skrypt wywołujący zgłosi błąd i zakończy działanie 



Komentarze w skryptach
Komentarze są ignorowane i usuwane w trakcie przetwarzania skryptu , pozwalają za to natomiast umieścić w skrypcie uwagi , które mogą być przydatne podczas jego analizy . Do wyboru są trzy rodzaje komentarzy :
komentarz blokowy - zaczyna się od sekwencji znaków /* , a kończy sekwencją */ . Wszystko to co znajduje się pomiędzy tymi znakami zostanie zignorowane przez analizator składniowy PHP . Komentarzy tego typu nie wolno zagnieżdżać .
komentarz jednowierszowy - rozpoczyna się on od sekwencji znaków // i kończy w bieżącej linii skryptu 
komentarz jednowierszowy uniksowy - Zaczyna się od znaku # i kończy się w tej samej linii 


Jak wykryć typ zmiennej
Funkcje kontrolujące typ zmiennych :
gettype() - zwraca ciąg znaków określających typ zmiennej lub ciąg unknown , gdy typ jest nieokreślony 
is_array() - zwraca wartość true , jeżeli zmienna przekazana jako argument jest typu array
is_bool - Zwraca wartość true , jeżeli zmienna przekazana jako argument jest typu boolean 
is_double - Zwraca wartość true , jeżeli zmienna przekazana jako argument jest typu double itd.


Zmienne superglobalne
Zmienne te są dostępne w każdej części skryptu . W większości z nich to tablice , które pozwalają na uzyskanie najróżniejszych informacji konfiguracyjnych oraz związanych z bieżącym wywołaniem skryptu 
Lista dostępnych zmiennych globalnych :
$GLOBALS - Jest to tablica zawierająca odniesienie do każdej zmiennej zdefiniowanej przez użytkownika , która ma zasięg globalny dla danego skryptu 

$_SERVER - Jest to tablica zawierająca informacje ustawiane przez serwer WWW . Można z niej odczytać m.in. dane dotyczące połączenia , które wywołano dany skrypt , np. adres IP , port , wartość nagłówków http itp. Zmienna ta jest dostępna od PHP 4.1.0 . W wersjach wcześniejszych wykorzystywana była do tego celu zmienna $HTTP_SERVER_VARS

$_GET - Tablica zawiera dane przekazane do serwera WWW za pomocą metody GET . Zmienna $_GET jest dostępna od PHP 4.1.0 . W wersjach wcześniejszych wykorzystywana była do tego celu zmienna $HTTP_GET_VARS 

$_POST - Tablica zawierająca dane przekazane do serwera WWW za pomocą metody POST . Zmienna $_POST jest dostępna od PHP 4.1.0 . W wersjach wcześniejszych wykorzystywana była do tego zmienna $HTTP_POST_VARS 

$_COOKIE - Tablica zawiera cookies przekazane z serwera WWW . Zmienna $_COOKIE jest dostępna od PHP 4.1.0 . We wcześniejszych wersjach wykorzystywana była do tego zmienna $HTTP_COOKIE_VARS 

$_FILES - Tablica zawierająca elementy przekazane do skryptu za pomocą metody POST podczas przesyłania plików do serwera . Zmienna $_FILES jest dostępna od PHP 4.1.0 . We wcześniejszych wersjach wykorzystywana była do tego zmienna $HTTP_POST_FILES

$_ENV - Tablica zawierająca wartości zmiennych środowiskowych przekazanych z systemu , na którym działa PHP . Zmienna $_ENV jest dostępna wersja PHP 4.1.0 . We wcześniejszych wersjach wykorzystywana była do tego zmienna $HTTP_ENV_VARS 

$_REQUEST - Tablica asocjacyjna zawierająca dane z $_GET , $_POST , i $_COOKIE . Zmienna $_REQUEST jest dostępna od PHP 4.1.0 , nie ma odpowiednika we wcześniejszych wersjach . Do wersji PHP 4.3.0 $_REQUEST zawierała dane z tablicy $_FILES 

$_SESSION - Tablica asocjacyjna zawierająca dane związane z bieżącą sesją . Zmienna $_SESSION jest dostępna od PHP 4.1.0 . W wersjach wcześniejszych wykorzystywana była do tego celu zmienna $HTTP_SESSION_VARS 

Stałe
Jest konstrukcją , która nie może zmieniać swojej wartości podczas działania skryptu . Jej nazwa , podobnie jak nazwy zmiennych , musi zaczynać się od znaku litery lub znaku podkreślenia i może zawierać jedynie litery , cyfry , i znaki podkreślenia . Zwyczajowo przyjmuje się , że nazwy są pisane wielkimi literami , nie jest to jednak obowiązkowe . Stałe są definiowane za pomocą polecenia define . Schematycznie taka konstrukcja ma następującą postać : 
define('nazwa_stalej" , wartosc_stalej)
Począwszy od PHP 5.3.0 , można również używać konstrukcji ze słowem const . Schematycznie może ona wyglądać następująco :
const NAZWA_STALEJ = wartosc;


Stałe predefiniowane
W PHP istnieją liczne stałe predefiniowane , nazywane stałymi magicznymi . Ich dostępność bardzo często zależy jednak , od tego , jakie rozszerzenia zostały zainstalowane . Pełną ich listę można znaleźć w dokumentacji . 
Wybrane stałe predefiniowane dostępne w PHP :
PHP_VERSION wersja PHP
PHP_OS Wersja systemu operacyjnego
DEFAULT_INLUDE_PATH Ścieżka dostępu do plików dołączanych za pomocą instrukcji include , require
PHP_EXTENSION_DIR - Katalog , w którym umieszczone są biblioteki rozszerzające możliwości PHP
PHP_BINDIR Katalog , w którym umieszczone są pliki wykonywalne PHP
_LINE_ Bieżąca linia skryptu
_FILE_ Nazwa pliku ze skryptem wraz z pełną ścieżką dostępu 
_FUNCTION_ nazwa bieżącej funkcji
_METHOD_ nazwa bieżącej metody
_DIR_ Katalog , w którym znajduje się plik ze skryptem 
_NAMESPACE_ Nazwa bieżącej przestrzeni nazw 

Operatory
Na zmiennych można wykonywać różnorodne operacje . Operacji tych dokonuje się za pomocą tzw. operatorów . Występujące operatory w PHP można podzielić na siedem następujących grup :
arytmetyczne 
bitowe
logiczne
przypisania
relacyjne
inkrementacji i dekrementacji
pozostałe

Operatory arytmetyczne
*mnożenie
/dzielenie 
+dodawanie 
-odejmowanie
%dzielenie modulo
**potęgowanie

Operatory inkrementacji i dekrementacji
Operatory inkrementacji , czyli zwiększania , oraz dekrementacji , czyli zmniejszania . Operator ++ zwiększa wartość o jeden , natomiast operator -- zmniejsza wartość o jeden . Mogą być one w formie przedrostkowej ++variable , wtedy operacja odbywa się przed użyciem zmiennej , natomiast w formie przyrostkowej variable++ ,  operacja odbywa się po użyciu zmiennej 

Operatory bitowe
& iloczyn bitowy and
| suma bitowa or 
~negacja bitowa not
^ xor
>> przesunięcie bitowe w prawo
<< przesunięcie bitowe w lewo

Operatory logiczne
and iloczyn logiczny 
or suma logiczna 
xor logiczna alternatywa wykluczająca
! negacja logiczna 
&& iloczyn logiczny
|| suma logiczna

Operatory relacyjne
== Wynikiem jest true , jeżeli argumenty są sobie równe 
=== Wynikiem jest true , jeżeli argumenty są sobie równe , oraz jeżeli typy tych argumentów są równe
<> Wynikiem jest true , jeżeli argumenty są różne 
!= Wynikiem jest true , jeżeli argument są różne
!== Wynikiem jest true , jeżeli argumenty są różne , lub są różnych typów 
> Wynikiem jest true , jeżeli argument lewostronny jest większy od prawostronnego
< Wynikiem jest true , jeżeli argument lewostronny jest mniejszy od prawostronnego
>= Wynikiem jest true , jeżeli argument lewostronny jest większy , lub równy prawostronnemu
<= Wynikiem jest true , jeżeli argument lewostronny jest mniejszy , lub równy prawostronnemu

Operator łańcuchowy
Kropka dokonuje połączenia łańcuchów 

Operator warunkowy
Operator warunkowy ma postać (wyazenie1) ? (wyrazenie2) : (wyrazenie3) 

Operator kontroli błędów
Istnieje jeden operator kontroli błędów oznaczany znakiem @ . Jeżeli zostanie on postawiony przed wyrażeniem , to gdyby wygenerowało ono błąd , zostanie on zignorowany W przypadku gdy w pliku konfiguracyjnym php.ini włączona jest opcja track_errors(track_errors=On) , komunikat o błędzie zostanie zapisany w zmiennej globalnej $php_errormsg

Operator wykonania polecenia zewnętrznego
Operator wykonania polecenia zewnętrznego składa się z dwóch znaków ' . Pozwala na wydanie polecenia , które zostanie wykonane w powłoce systemowej .

Operatory konwersji (rzutowania) typów
(int) konwersja na typ integer 
(float) konwersja na typ float
(bool) konwersja na typ boolean
(string) konwersja na typ string
(array) konwersja na typ array
(object) konwersja na typ object
(unset) konwersja na typ null


Funkcje konwersji
intval() wykonuje konwersję na typ int
floatval() - wykonuje konwersję na typ float
doubleval() - wykonuje konwersję na typ double
strval() - wykonuje konwersję na typ string
boolval() - wykonuje konwersję na typ boolean


Instrukcja if


Instrukcja while

Instrukcja do while

Instrukcja switch






Komentarze

Popularne posty z tego bloga

HTML - WSTĘP

DEFINICJA Jest to hipertekstowy język znaczników , wykorzystywany do tworzenia dokumentów hipertekstowych HISTORIA W 1980 fizyk Tim Berners-Lee , pracujący dla ośrodka naukowo-badawczego CERN , stworzył prototyp hipertekstowego systemu informacyjnego - ENQUIRE . System wykorzystywano do organizowania i udostępniania dokumentów związanych z badaniami naukowymi . Rewolucyjność pomysłu polegała na tym , że użytkownik posługując się odnośnikami , mógł z jednej lokalizacji przeglądać dokumenty fizycznie znajdujące się w innych miejscach na świecie . Pierwsza publicznie dostępna , specyfikacja języka HTML nazwana HTML Tags została zamieszczona przez Barnersa-Lee w 1991 roku . Zawierała 22 znaczniki , tworzące początkowy pierwszy szkielet HTML-a . Obecna najnowsza wersja to HMTL 5 . Logo HTML 5  Źródło : wikipedia.org

PHP cz.4(Komentarze , Typy danych , Operatory)

KOMENTARZE W kodzie PHP możemy stosować komentarze , tak jak w większości innych języków programowania . Są one ignorowane i przetwarzane podczas działania skryptu . Do wyboru mamy trzy rodzaje komentarzy : -komentarz blokowy -komentarz jednowierszowy -komentarz jednowierszowy uniksowy KOMENTARZ BLOKOWY Zaczyna się od znaku /* , a kończy na znaku */ . Wszystko to co znajduje się pomiędzy tymi znacznikami jest traktowane jako komentarz . Należy pamiętać , że komentarzy tego typu , nie wolno zagnieżdżać  KOMENTARZ JEDNOWIERSZOWY Ten typ komentarza został zaczerpnięty ze składni takich języków , jak C++ . Rozpoczyna się on od znaków // , i kończy w bieżącej linii skryptu .  KOMENTARZ JEDNOWIERSZOWY UNIKSOWY Ma takie samo działanie jak komentarz jednowierszowy , jedynie jego wygląd jest inny  ZMIENNE W PHP Pozwalają przechowywać dane . Każda zmienna posiada nazwę oraz typ . Nazwa to id , dzięki któremu możemy odwoływać się do...

Java Podstawy cz.2 - Komentarze , Typy danych , Operatory

Komentarze Podobnie jak w większości języków programowania , nie są uwzględniane przez kompilator . W Javie są trzy rodzaje komentarzy : -Najczęściej stosowana metoda stosowania komentarzy to użycie znaków // . Komentarz ten kończy się w tej samej linii . -Komentarz blokowy . Zaczyna się od sekwencji znaków /* , a kończy sekwencją znaków */  -Trzeci rodzaj komentarza służy do automatycznego generowania dokumentacji . Komentarz ten zaczyna się od sekwencji znaków /** , a kończy sekwencją znaków */ Typy danych W Javie istnieje osiem podstawowych typów danych . Cztery z nich reprezentują liczby całkowite . Dwa typy liczby rzeczywiste , jeden o nazwie char zarezerwowano dla znaków , zaś ostatnim jest typ logiczny boolean , który przyjmuje dwie wartości : true lub false  Typy Całkowite Przechowują liczby pozbawione części ułamkowej . Zaliczają się do nich także wartości ujemne . int - Pojedyncza zmienna zajmuje 4 bajty . Zakres liczb od -2 147...