Správanie parsera

Analýza a spracovanie teraz dva úplne oddelené kroky , nespracuje sa žiaden kód súboru pokým sa celý súbor a všetko , čo vyžaduje , kompletne a úspešne neanalyzovalo .

Jedna z nových požiadaviek predstavených s týmto rozdelením je , že potrebné a zahrnuté súbory musia teraz byť syntakticky kompletné . viac nemôžete rozširovať kontrolné časti kontrolnej štruktúry cez hranice súboru . To je , že nemôžete začať for alebo while slučku , príkaz if alebo switch blok v jednom súbore a ukončenie slučky , príkazy else , endif , case alebo break v rozličných súboroch .

Je stále úplne dovolené zahŕňať dodatočný kód alebo iné kontrolné štruktúry , jedine kontrolné kľúčové slová a príslušne zložené zátvorky { .. . } musia byť v rovnakej kompilačnej jednotke (súbore alebo eval( ) ovanom reťazci ) .

Toto by nemalo veľmi vadiť , nakoľko rozširujúci kód ako tento by sa rozhodne mal pokladať ako veľmi zlý štýl .

Ďalšia , nemožná vec , i keď v PHP 3 videná len zriedkavo , je vrátenie hodnôt z vyžadovaného súboru . Vrátenie hodnoty zo zahrnutého súboru je stále možné .