Forum und email
Używanie starej składni w nowych wersjach PHP

Używanie starej składni w nowych wersjach PHP

Odkąd PHP stało się popularnym językiem skryptowym, istnieją duże archiwa darmowych skryptów, które można często bez żadnych ograniczeń wykorzystywać na swoich stronach WWW. Twórcy PHP postarali się, aby uruchamianie starszych skryptów było możliwe we wszystkich nowszych wersjach środowiska. Czasami jednak, aby uruchomić taki program, trzeba będzie dokonać w nim pewnych zmian.

Dwie najistotniejsze zmiany w stosunku do starszych wersji PHP to:

  • ZastÄ…pienie zmiennych $HTTP_*_VARS (które wewnÄ…trz funkcji muszÄ… być importowane tak jak zmienne globalne) tablicami superglobalnymi w wersji 4.1.0 Å›rodowiska PHP. Oto one: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST i $_SESSION. Wykorzystywane wczeÅ›niej tablice $HTTP_*_VARS, takie jak np. $HTTP_POST_VARS, nadal sÄ… dostÄ™pne dla skryptów. Od PHP w wersji 5.0.0, dÅ‚ugie tablice zmiennych predefiniowanych mogÄ… być wyłączone dyrektywÄ… konfiguracji register_long_arrays.

  • Zmienne pochodzÄ…ce "z zewnÄ…trz" nie sÄ… już domyÅ›lnie rejestrowane jako zwyczajne zmienne skryptu. Inaczej mówiÄ…c, od wersji 4.2.0 dyrektywa konfiguracyjna register_globals w pliku php.ini domyÅ›lnie przyjmuje wartość off. Zalecana metoda odwoÅ‚ywania siÄ™ do zmiennych "z zewnÄ…trz" polega na zastosowaniu opisanych wyżej tablic superglobalnych. W starszych skryptach, książkach i kursach możesz siÄ™ spotkać ze starÄ… skÅ‚adniÄ…, która jest niestety mniej bezpieczna. KorzystajÄ…c ze zmiennych superglobalnych masz pewność, że dane przesÅ‚ane metodÄ… GET znajdÄ… siÄ™ w tablicy $_GET, metodÄ… POST w $_POST itd.

Więcej informacji na ten temat znajdziesz w sekcji Zmienne predefiniowane i na stronach pokrewnych.