3 ms·
Not necessarily. Makes sense for syntax check to only check between php tags. Root of the issue is that by default php outputs anything not between php tags to
by zaidf 16y ago
Not necessarily. Makes sense for syntax check to only check between php tags.
Root of the issue is that by default php outputs anything not between php tags to the browser.
Perhaps some sort of buffer control at the top most include can disable output to browser until a later time. That's pretty much how templating systems work except they don't disable output afaik thus leaving possibility of this open.
- dexen 16y agoYou could do ob_start(); include '...'; ob_end_clean();, but it turns out that die() (say, in a custom error handler) () causes an implicit buffer flush. So it's not a foolproof solution.
- bluesnowmonkey 16y agoYou can attach a callback to the buffer to prevent that implicit flush. ob_start(function() {});
- dexen 16y agoThanks, I'll investingate and probably adopt it for my code :D
- KevBurnsJr 16y agoOr register_shutdown_function - http://blog.kevburnsjr.com/php-fatal-error-500 http://blog.kevburnsjr.com/php-fatal-error-500
- bluesnowmonkey 16y agoExactly right. There's no reason for a config file (or any of the setup code) to be writing output. A good way to force this is by immediately starting an output buffer with a callback that returns nothing, then calling ob_end_clean() after setup is complete.