Twig_Extension
, в нем описываете свою функцию и добавляете ее в перекрытый метод getFunctions()
(имя функции которые будет вызываться в твиге), потом при создании объекта твига добавляете в него экземпляр своего класса$Twig->addExtension(new MyTwigExtension());
5) Посоветуйте хороший объектный кэш в shared RAM. Не сериализацию в мемкашу и редис, не размазывание по жесткому, а именно гарантированно в раму. General purpose, с быстрым доступом из любого пыхоскрипта в общем случае. Хорошо было бы умение вытягивать в раму ветви нескалярных объектов.
apc.serializer=igbinary
class HTTP_Exception_404 extends Kohana_HTTP_Exception_404 {
/**
* Generate a Response for the 404 Exception.
*
* The user should be shown a nice 404 page.
*
* @return Response
*/
public function get_response()
{
$view = View::factory('errors/404');
// Remembering that `$this` is an instance of HTTP_Exception_404
$view->message = $this->getMessage();
$response = Response::factory()
->status(404)
->body($view->render());
return $response;
}
}