Recipe code formatting fix. New recipe for improved APC bytecode support

This commit is contained in:
Andreas Runfalk
2011-06-22 11:03:56 +02:00
parent 027f4890a7
commit eb5c9fbcc7
+27 -7
View File
@@ -246,14 +246,34 @@ Validating the Template Syntax
When template code is providing by a third-party (through a web interface for
instance), it might be interesting to validate the template syntax before
saving it. If the template code is stored in a `$template` variable, here is
how you can do it:
how you can do it::
try {
$twig->parse($twig->tokenize($template));
try {
$twig->parse($twig->tokenize($template));
// the $template is valid
} catch (Twig_Error_Syntax $e) {
// $template contains one or more syntax errors
}
// the $template is valid
} catch (Twig_Error_Syntax $e) {
// $template contains one or more syntax errors
}
Refreshing modified templates when APC is switched on with apc.stat = 0
-----------------------------------------------------------------------
When using APC to cache, apc.stat is 0 and PHP caching of templates is enabled
the result won't show until cache is cleared. To get around this one can extend
Twig_Environment and force update cache when Twig rewrites the cache::
/**
* Modified Twig Environment for APC bytecode cache support
*/
class Twig_Environment_APC extends Twig_Environment
{
protected function writeCacheFile($file, $content) {
parent::writeCacheFile($file, $content);
// Compile cached file into bytecode cache
apc_compile_file($file);
}
}
.. _callback: http://www.php.net/manual/en/function.is-callable.php