Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
Строк: 65
<?php

namespace IlluminateViewEngines;

use 
Exception;
use 
Throwable;
use 
SymfonyComponentDebugExceptionFatalThrowableError;

class 
PhpEngine implements EngineInterface
{
    
/**
     * Get the evaluated contents of the view.
     *
     * @param  string  $path
     * @param  array   $data
     * @return string
     */
    
public function get($path, array $data = [])
    {
        return 
$this->evaluatePath($path$data);
    }

    
/**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    
protected function evaluatePath($__path$__data)
    {
        
$obLevel ob_get_level();

        
ob_start();

        
extract($__dataEXTR_SKIP);

        
// We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        
try {
            include 
$__path;
        } catch (
Exception $e) {
            
$this->handleViewException($e$obLevel);
        } catch (
Throwable $e) {
            
$this->handleViewException(new FatalThrowableError($e), $obLevel);
        }

        return 
ltrim(ob_get_clean());
    }

    
/**
     * Handle a view exception.
     *
     * @param  Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws $e
     */
    
protected function handleViewException(Exception $e$obLevel)
    {
        while (
ob_get_level() > $obLevel) {
            
ob_end_clean();
        }

        throw 
$e;
    }
}
Онлайн: 0
Реклама