This made me think of an interesting complication. exit() and die() don't seem to stop functions from being loaded.

PHP Code:
<?php
hello
();
exit();
function 
hello() { echo 'hello'; }
?>
This works.
PHP Code:
<?php
hello
();
exit();
if (
1==1) { function hello() { echo 'hello'; } }
?>
This doesn't work, as above.


I think this is a mistake in PHP. I don't see why functions should be parsed initially.