sfFunctionCache will leave a ob_ buffer open, which does horrrible nasty things to page rendering, took me aaaaaaaages to figure out what was going on :)
Index: lib/symfony/cache/sfFunctionCache.class.php
===================================================================
--- lib/symfony/cache/sfFunctionCache.class.php (revision 1649)
+++ lib/symfony/cache/sfFunctionCache.class.php (working copy)
@@ -57,7 +57,14 @@
{
// classname::staticMethod
list($class, $method) = explode('::', $target);
- $result = call_user_func_array(array($class, $method), $arguments);
+ try {
+ $result = call_user_func_array(array($class, $method), $arguments);
+ }
+ catch (Exception $e)
+ {
+ ob_end_clean();
+ throw $e;
+ }
}
else if (strstr($target, '->'))
{
@@ -66,7 +73,14 @@
// name is the same as this var name
list($object_123456789, $method) = explode('->', $target);
global $$object_123456789;
- $result = call_user_func_array(array($$object_123456789, $method), $arguments);
+ try {
+ $result = call_user_func_array(array($$object_123456789, $method), $arguments);
+ }
+ catch (Exception $e)
+ {
+ ob_end_clean();
+ throw $e;
+ }
}
else
{