Вход Регистрация
Файл: onlinepoisk.wm-scripts.ru/vendor/silex/silex/silex/src/Silex/Provider/TwigCoreExtension.php
Строк: 75
<?php

/*
 * This file is part of the Silex framework.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SilexProvider;

use 
SymfonyComponentHttpFoundationRequest;
use 
SymfonyComponentHttpKernelHttpKernelInterface;

/**
 * Twig extension.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TwigCoreExtension extends Twig_Extension
{
    public function 
getFunctions()
    {
        return array(
            
'render' => new Twig_Function_Method($this'render', array('needs_environment' => true'is_safe' => array('html'))),
        );
    }

    public function 
render(Twig_Environment $twig$uri)
    {
        
$globals $twig->getGlobals();
        
$request $globals['app']['request'];

        
$subRequest Request::create($uri'get', array(), $request->cookies->all(), array(), $request->server->all());
        if (
$request->getSession()) {
            
$subRequest->setSession($request->getSession());
        }

        
$response $globals['app']->handle($subRequestHttpKernelInterface::SUB_REQUESTfalse);

        if (!
$response->isSuccessful()) {
            throw new 
RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).'$request->getUri(), $response->getStatusCode()));
        }

        return 
$response->getContent();
    }

    public function 
getName()
    {
        return 
'silex';
    }
}
Онлайн: 2
Реклама