Wartość programu jest odwrotnie proporcjonalna do jakości wyników jego pracy.
PHP - zmienne

Każdą zmienną w PHP zapisuje się, poprzedzając jej nazwę znakiem dolara "$".

Wielkość liter w nazwie zmiennej jest rozróżniana.

Nazw zmiennych dotyczą te same reguły, co innych rodzajów nazw w PHP. Poprawna nazwa zmiennej zaczyna się od litery lub znaku podkreślenia "_", po których może wystąpić dowolna ilość liter, cyfr lub znaków podkreślenia.

 

Zasięg widoczności zmiennych

Zasięg widoczności zmiennej jest zależny od miejsca, w jakim została zdefiniowana. Najczęściej zmienne PHP widoczne są tylko w pojedynczym zasięgu. Taki zasięg rozciąga się na pliki dołączane funkcjami include() i require(). Na przykład:

    <?php
    $a 
1;         /* zasięg globalny */ 

    
function Test()
    { 
        echo 
$a;    /* odwołanie do zmiennej o zasięgu lokalnym */ 
    


    
Test();
    
?>

Ten skrypt nie wyświetli niczego, ponieważ instrukcja echo odwołuje się do zmiennej lokalnej $a, której nie została przypisana żadna wartość. W PHP zmienne globalne muszą być jawnie określone jako globalne wewnątrz funkcji, w której mają być użyte, do czego używamy słowa kluczowego global. Na przykład:

    <?php
    $a 
1;
    
$b 2;

    function 
Sum()
    {   global 
$a$b;
        
$b $a $b;
    } 

    
Sum();
    echo 
$b;
    
?>

Ten skrypt wyświetli wynik "3". Przez zadeklarowanie wewnątrz funkcji globalności zmiennych $a i $b, wszystkie odwołania do tych zmiennych będą odnosiły się do ich globalnych wersji. Nie ma żadnych ograniczeń w ilości zmiennych globalnych, na których chcemy operować wewnątrz funkcji.

Jeszcze jedną ważną rzeczą, związaną z zasięgiem zmiennych jest zmienna statyczna. Zmienna statyczna może mieć wyłącznie zasięg lokalny, ale nie traci swojej wartości, kiedy program opuści ten zasięg lokalny, w którym dana zmienna statyczna się znajduje. Np.:

    <?php
    
function Test()
    {   static 
$a 0;
        echo 
$a;
        
$a++;
    }
    
?>

Za każdym wywołaniem funkcji Test, zostanie wyświetlona wartość zmiennej $a, po czym ta zmienna zostanie inkrementowana.

 

Zmienne spoza PHP

  • Formularze HTML (GET i POST)

    Kiedy do skryptu PHP zostanie wysłany formularz, każda zmienna z tego formularza zostanie automatycznie dostarczona do tego skryptu przez PHP. Zmienne te będą umieszczone w tablicach asocjacyjnych:

    $_POST zmienne wysłane metodą POST,

    $_GET zmienne wysłane metodą GET i/lub

    $_FILES plik wysłane metodą POST

    w zależności od rodzaju zmiennych w zapytaniu.

    Dyrektywa konfiguracyjna magic_quotes_gpc oddziałuje na zmienne z Get, Post i Cookie. Jeśli jest włączona, to tekst (It's "PHP!") automagicznie zmieni się w (It\'s \"PHP!\"). Jest to potrzebne przy wpisywaniu danych do baz danych. Podobny efekt można uzyskać za pomocą funkcji addslashes() i stripslashes().

    PHP obsługuje także tablice w kontekście zmiennych z formularzy. Pozwala to na przykład pogrupować razem powiązane zmienne lub użyć tej możliwości do pobrania wartości z pola wyboru (select) zmożliwością zaznaczenia wielu opcji.
     
  • Ciasteczka HTTP

    PHP bez problemu obsługuje ciasteczka HTTP. Ciasteczka są mechanizmem przechowywania informacji w przeglądarce klienta w celu śledzenia lub identyfikowania stałych bywalców strony. Ciasteczka ustawia się za pomocą funkcji setcookie(). Ciasteczka są częścią nagłówka HTTP, więc funkcja SetCookie musi być wywołana zanim jakakolwiek inna informacja zostanie wysłana do przeglądarki. Takie samo ograniczenie dotyczy funkcji header(). Wszystkie ciasteczka odebrane od klienta zostaną automatycznie w zmienne $_COOKIE, podobnie jak dane odebrane metodą GET lub POST.

    Jeśli chcesz przypisać wiele wartości do jednego ciasteczka, dodaj [] do jego nazwy.
     
  • Zmienne środowiskowe

    PHP automatycznie udostępnia wszystkie zmienne środowiskowe jako tablicę asocjacyjną $_ENV, w której kluczami są nazwy zmiennych środowiskowych.
     

 

Zmienne predefiniowane

PHP udostępnia dla każdego pracującego skryptu dużą ilość predefiniowanych zmiennych. Jednakże wiele spośród tych zmiennych jest zależne od rodzaju serwera, jego wersji i ustawień i innych czynników. Niektóre z tych zmiennych nie będą dostępne dla skryptów PHP uruchomionych z linii poleceń.

$GLOBALS

Zawiera referencje do każdej ze zmiennych aktualnie dostępnych w zasięgu globalnym skryptu. Kluczami tablicy są nazwy zmiennych globalnych.

$_SERVER

Zmienne tworzone przez serwer lub bezpośrednio powiązane ze środowiskiem uruchomieniowym danego skryptu.

$_GET

Zmienne dostarczone do skryptu za pomocą metodą GET protokołu HTTP.

$_POST

Zmienne dostarczone do skryptu metodą POST protokołu HTTP.

$_COOKIE

Zmienne dostarczone do skryptu przez ciasteczka HTTP.

$_FILES

Zmienne dostarczone do skryptu przez przesłanie plików do serwera metodą POST protokołu HTTP.

$_ENV

Zmienne dostarczone do skryptu przez środowisko operacyjne.

$_REQUEST

Zmienne użytkownika dostarczone do skryptu przez każdy mechanizm wejścia, przez co NIE są one godne zaufania. Obecność i kolejność dołączania zmiennych do tej tablicy zależy od dyrektywy konfiguracyjnej variables_order.

$_SESSION

Zmienne aktualnie zarejestrowane jako sesyjne.

« wstecz   dalej »