Menu
Strona główna
Hacking
Programowanie
Telefonia Komórkowa
Kody do Gier
Linux
Dlaczego?
Programowanie w Delphi
Mapa strony
 Programy
Systemy
Artykuły PDF

Security

Skanery
Sniffery
Security

Windows

Użytkowe
Przegl?darki graficzne
Kodeki
Narzędzia plikowe
Narzędzia dyskowe
Narzędzia systemowe
Sterowniki
Szyfrowanie danych
Zarz?dzanie hasłami
Zarz?dzanie rejestrem
?aty i Patche
Zarz?dzanie pamięci?
Synchronizacja czasu
Nagrywanie płyt
Free Antivirus (Darmowe Antyvirusy)
Sterowniki
Obróbka d?więku
Edycja wideo

Internetowe

Bezpiecze?stwo
Programy P2P
Komunikatory
Dodatki do przegl?darek
Klienty poczty elektronicznej
Narzędzia Antyspamowe
Przegl?darki grup dyskusyjnych
Przegl?darki Offline
Serwery poczty elektronicznej
Telefonia komórkowa
Wyszukiwarki internetowe
Zdalny dostęp
Cybernianie
Klienty FTP
Narzędzia internetowe
Prywatnośc
Przegl?darki internetowe
Serwery FTP
Serwery WWW
Wspomagacze ści?gania
Zarz?dzanie sieci? lokaln?

Tuning Systemu

Diagnostyka i testowanie
Inne
Rozszerzenia pulpitu
Tapety na pulpit
Tuning Systemu
Ikony
Powłoki
Tuning sprzętu
Wygaszacze ekranu

Programowanie

Kompilatory
Biblioteki i komponenty
Bazy danych
Edytory programistyczne
?rodowiska programistyczne
Debugery
Tworzenie wersji instalacyjnych

Webmastering

Użytkowe
Kursy

Linux

Użytkowe
Internetowe
Multimedialne

Programy biurowe

Programy dla firm
Pakiety biurowe
Administracja
Edytory tekstu
Grafika prezentacyjna
Kadry i płace
Wspomaganie projektowania
Zarz?dzanie projektami
Bazy danych
Finanse i księgowośc
Handel
Programy ewidencyjne
Zarz?dzanie informacj? osobist? (PIM)
 Download GRY
Pelne Wersje GIER
 Artykuły > Programowanie > Kurs PHP - Składnia języka Cześć 2

Zakańczanie instrukcji

Jak już można zauważyć w przykładach z poprzedniego rozdziału, jedną z głównych zasad języka PHP (jak i wielu innych - m. in. C i Perla) jest umieszczenie na końcu każdej instrukcji (niekoniecznie linii) znaku średnika (';'). Można go pominąć tylko jeśli w danym miejscu następuje przejście do trybu HTML, a więc po danej linii następuje symbol przejścia do trybu HTML.


<?
echo "To jest test";
?>

<? echo "To jest test" ?>

Komentarze

Czasem zachodzi potrzeba oznaczenia czegoś w kodzie, dla kogoś innego czy nawet dla siebie samego (zwłaszcza jeśli pracuje się nad dużym projektem można się pogubić). Wtedy można skorzystać z jednej z kilku metod oznaczania, dzięki którym parser PHP będzie wiedział, że dany tekst nie jest częścią skryptu i można go zignorować. Komentarze przydają się także do tymczasowego "wyłączania" niektórych linii kodu. PHP obsługuje 3 metody oznaczania komentarzy - 2 z nich znane są z języków C/C++ a jedna z powłok (shell) systemów Uniksowych. Poniższe 2 metody służą do oznaczania, że tekst od danego miejsca do końca linii jest komentarzem:


<?

echo "To jest test komentarzy"; // Ta metoda znana jest z języków C/C++

echo "A to drugi test"; # A ta z powłok Uniksowych

?>

Ostatnia metoda, także znana z języków C/C++, służy do oznaczania wielu linii jako komentarz. Należy przy niej pamiętać, aby nie zagnieżdżać wewnątrz siebie takich komentarzy ponieważ może to doprowadzić do nieprawidłowego funkcjonowania skryptów.


<?

echo "Test komentarzy"; /* Tu jest początek komentarza
tu dalej trwa
a tu się kończy */

?>

Zmienne

Jeśli ktoś nie spotkał się jeszcze z pojęciem zmiennej, to postaram się to wyjaśnić. Otóż zmienna jest to identyfikator znakowy, któremu przypisano jakąś wartość. W języku PHP zmienne oznacza się za pomocą znaku dolara ('$') przed wspomnianym identyfikatorem. Obsługa zmiennych w PHP jest uproszczona do minimum. W "dużych" językach programowania zmienne trzeba najpierw inicjować (przy czym z góry trzeba określić typ zmiennej), zmienne tekstowe muszą mieć z góry ustalony rozmiar itp. W PHP nie jest to konieczne. Zmienna jest inicjalizowana (to znaczy rezerwowany jest dla niej pewien obszar w pamięci) przy pierwszym jej użyciu. Nazwy zmiennych muszą zaczynać się od litery (dużej lub małej) lub "underscore" (dolna kreska - '_') a dalej mogą się składać z dowolnej ilości liter, cyfr i znaków o kodzie ASCII powyżej 127. Przy nazwach zmiennych respektowana jest wielkość znaków - zmienne $Test i $test to dwie różne zmienne. Oto przykład przypisywania wartości zmiennym i wykorzystanie ich w poleceniu echo:


<?

$nazwa
= 1; // Zmiennej "nazwa" przypisywana jest wartość liczbowa 1

$druga_nazwa = "Tekst"; // Zmiennej "druga_nazwa" przypisany jest ciąg znaków "Tekst"

$trzecia_nazwa = $nazwa; // Zmiennej "trzecia_nazwa" przypisywana
//jest wartość zmiennej "nazwa"

echo "To jest $druga_nazwa"; // Powinien wyświetlić się napis "To jest Tekst"

echo '$druga_nazwa'; // Powinien wyświetlić się napis "$druga_nazwa"

echo $nazwa; // Powinna wyświetlić się cyfra 1

?>

W powyższym przykładzie można zauważyć, że parametr dla polecenia echo można podawać zarówno w cudzysłowach jak i apostrofach. Jednak te parametry nie są sobie równoznaczne. W przypadku cudzysłowów zmienne zawarte między nimi są zamieniane na ich wartość, a w przypadku apostrofów zmienna pozostaje swoją nazwą (jak można zauważyć w powyższym przykładzie).

Typy zmienych

W PHP zmienne mają następujące typy:

  • liczby całkowite (integer)
  • liczby rzeczywiste (double)
  • ciągi (string)
  • tablice (array)
  • obiekty (object)

    Dodatkowo PHP potrafi konwertować zmienne całkowite zapisane w różnych formatach liczbowych.


    <?
    $a
    = 1234; # liczba dziesiętna
    $a = -123; # liczba ujemna
    $a = 0123; # liczba ósemkowa (równoznaczne z dziesiętnym 83)
    $a = 0x12; # liczba szesnastkowa (równoznaczne z dziesiętnym 18)
    ?>

    Zmiana typu

    Zazwyczaj nie jest konieczne określenie typu zmiennej - PHP sam to ustala, zależnie od kontekstu. Przykład:


    <?
    $blah
    = "0"; // $blah jest ciągiem (ASCII 48)
    $blah++; // $blah jest ciągiem "1" (ASCII 49)
    $blah += 1; // $blah jest teraz wartością całkowitą (2)
    $blah = + 1.3; // $blah jest wartością rzeczywistą (1.3)
    $blah = 5 + "10 Malutkich ?winek"; // jest wartością całkowitą (15)
    $blah = 5 + "10 Małych ?wiń"; // jest wartością całkowitą (15)
    ?>

    Podczas przypisywania zmiennej nowej wartości, poprzednia wartość jest oczywiście zamazywana. W takim przypadku typ zmiennej ustalany jest od nowa.

    Jeśli jednak zachodzi potrzeba zmiany typu lub PHP błędnie rozpoznaje typ, to można tego dokonać za pomocą rzutowania (cast - efekt jest jednorazowy) lub za pomocą funkcji settype (efekt trwały).

    Rzutowanie typów odbywa się przez podanie nowego typu w nawiasie przed zmienną lub wartością, której typ chcemy zmienić. Na przykład:


    <?
    $liczba_calkowita
    = 10;

    $liczba_rzeczywista = (real) $liczba_calkowita;
    ?>

    Dozwolone typy rzutowań:

  • (int), (integer) - rzutuj do typu całkowitego
  • (real), (double), (float) - rzutuj do typu rzeczywistego
  • (string) - rzutuj do ciągu
  • (array) - rzutuj do tablicy
  • (object) - rzutuj do obiektu

    Drugim sposobem, trwałym, jest użycie funkcji settype. Funkcja ta pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim ciąg określający nowy typ zmiennej. Te typy to:

  • "integer"
  • "double"
  • "string"
  • "array"
  • "object"

    Funkcja zwraca wartość "true" gdy wszystko poszło pomyślnie. W przeciwnym razie zwracana jest wartość "false". Przykład:


    <?

    $zmienna
    = 10.3;

    echo
    "$zmienna <br>"; // Wyświetlona wartość to "10.3"

    settype($zmienna, "integer");

    echo
    "$zmienna <br>"; // Wyświetlona wartość to "10"

    ?>

    Predefiniowane zmienne

    W każdym skrypcie PHP dostępne jest kilka zmiennych, których wartość jest ustalana na podstawie zmiennych środowiskowych serwera WWW. Dostępne są jak zwykłe zmienne - ze znakiem dolara przed nazwą.

    Zmienne ustawiane przez serwer WWW:

    • 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.

    Zmienne ustawiane przez PHP:

    • 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?>.

    Stałe

    W PHP występują także tzw. stałe, czyli identyfikatory znakowe, których wartości nie można zmienić. Stałych, w odróżnieniu od zmiennych, używa się bez znaku dolara na początku. W PHP występuje kilka zmiennych ustawianych przez parser:

    • __FILE__ - Nazwa pliku ze skryptem który jest aktualnie przetwarzany. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany (o poleceniu include w dalszej części kursu), to podana zostanie nazwa pliku zainkludowanego, a nie pliku nadrzędnego.
    • __LINE__ - Numer linii w skrypcie która aktualnie jest przetwarzana. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany, to podany zostanie numer linii przetwarzanej w pliku zainkludowanym.
    • PHP_VERSION - Ciąg reprezentujący wersję parsera PHP aktualnie używaną.
    • PHP_OS - Nazwa systemu operacyjnego na którym uruchamiany jest parser PHP.
    • TRUE - Logiczna wartość prawdy.
    • FALSE - Logiczna wartość fałszu.

    Stałe mogą być definiowane przez użytkownika za pomocą funkcji define(), która przyjmuje 2 parametry: nazwę stałej i wartość do niej przypisaną. Przykład:


    <?
    define
    ("STALA", "Hello world.");
    echo
    STALA; // Wyświetla "Hello world."
    ?>
  • komentarz[18] |

    Copyright Š 2006 - 2007 E-comet.info. Wszelkie prawa zastrzeżone.

    programy,artykuły,gry online,teledyski,filmiki,smieszne reklamy,sterowniki,kodeki,programy,program,download, downloads,security,bramka sms, teledyski,antywirusy,darmowe free program,programy p2p,tapety,programy biurowe,programy dla firm,narzędzia dyskowe,edytory,gry strategiczne,gry przygodowe,gry sportowe, symulatory, gry rpg,gry karciane, gry zrecznosciowe. Zapraszamy.
    0.042 |