PHP Manuál | ||
---|---|---|
Predchádzajúci | Dodatok B. Migrácia z PHP 4 na PHP 5 | Nasledujúci |
I keď väčšina existujúceho PHP 4 kódu by mala fungovať bez zmien, mali by venovať pozornosť týmto spätným nekompaktibilným zmenám:
strrpos() a strripos() teraz používajú celý reťazec ako ihlu.
Nelegálne použitie offsetov reťazca spôsobuje E_ERROR namesto E_WARNING.
array_merge() bola zmenená na akceptovanie iba polí. Ak sa vloží premenná, ktorá nie je typu array, E_WARNING sa objaví pre každý taký parameter. Buďte opatrný pretože váš kód môže začať emitovať E_WARNING z čista jasna.
PATH_TRANSLATED premenná servera už nie je implicitne nastavená pod Apache2 SAPI na rozdiel od situácie v PHP 4, kde je nastavená na rovnakú hodnotu ako SCRIPT_FILENAME premenná servera, keď nie je obsadená Apacheom. Táto zmena sa urobila na vyhovenie s CGI špecifikáciou. Prosím, pozrite si bug #23610 pre ďalšie informácie.
Konštanta T_ML_CONSTANT už nie je definovaná rozšírením Tokenizer. Ak je error_reporting nastanený na E_ALL, PHP vygeneruje oznam. Namiesto T_ML_CONSTANT pre /* */ sa použije konštanta T_COMMENT, i keď obe // a /* */ sa berú ako konštanta T_COMMENT. Avšak PHPDoc štýlové komentáre /** */ , ktoré počínajúc PHP5 sú analyzované PHP-čkom, sú rozpoznávané ako T_DOC_COMMENT.
$_SERVER by mala byť obsadená s argc a argv ak variables_order zahŕňa "S". Ak ste špecificky nakonfigurovali svoj systém na nevytváranie $_SERVER, potom samozrejme by tam nemala byť. Zmena bola vždy urobiť z argc a argv premennú v CLI verziu bez ohľadu na nastavenie variables_order. CLI verzia bude vždy obsadzovať globálne premenné $argc a $argv.
Triedy sa musia pred použitím deklarovať.
Predchádzajúci | Domov | Nasledujúci |
Migrácia z PHP 4 na PHP 5 | Hore | Migrujúce Konfiguračné Súbory |