Forum und email
Chování parseru

Chování parseru

Parsing a provádění kódu jsou nyní dva naprosto oddělené kroky, nic z kódu v souboru se neprovádí dříve, než je úspěšně provedena úplná syntaktická analýza celého souboru a všeho, co je třeba.

Jeden z nových požadavků, které vyvstaly tímto rozdělením, je, že všechny soubory připojené prostřednictvím "require" a "include" nyní musí být syntakticky úplné. Již nelze rozložit různé části řídicích konstrukcí přes hranice souborů. Tj. nelze začít cyklus for nebo while, větvení if nebo switch v jednom souboru a ukočit je (resp. pokračovat pomocí else, endif, case nebo break) v souboru jiném.

Zůstává zcela legální vložit další kód do cyklů nebo jiných řídicích struktur, pouze řídicí klíčová slova a odpovídající složené závorky {...} musí být ve stejné kompilační jednotce (souboru nebo řetězci zpracovaném pomocí eval()).

Toto neškodí tolik jako výše uvedené rozkládání kódu, přesto to může být považováno za velmi špatný styl.

Jinou věcí, která již není možná, je vzácně vídané vracení hodnot ze souborů připojených pomocí "require". Vracení hodnot ze souborů připojených "include" je možné i nadále.