2013-04-17 2 views
1

Я хотел бы знать, что является эквивалентом:Laravel 4, преобразовать синтаксис Лезвия для PHP

@include('sidebars.pages') 

В простой PHP?

Я пробовал такие вещи, как:

<?php echo view('sidebars.pages'); ?> 
<?php echo view('sidebars.pages')->render(); ?> 
<?php echo render('sidebars.pages'); ?> 
<?php Blade::compile_string("@include('sidebars.pages')"); ?> 

Я признателен за любую помощь!

ответ

2

Буквально это переводится, чтобы ...

<?php echo $__env->make('sidebar.pages', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?> 

Так из вашего списка попыток, ближайший может быть

<?php echo render('sidebar.pages', array_except(get_defined_vars(), array('__data', '__path'))); ?> 

Ссылка: View\Compilers\BladeCompiler

/** 
* Compile Blade include statements into valid PHP. 
* 
* @param string $value 
* @return string 
*/ 
protected function compileIncludes($value) 
{ 
    $pattern = $this->createOpenMatcher('include'); 

    $replace = '$1<?php echo $__env->make$2, array_except(get_defined_vars(), array(\'__data\', \'__path\')))->render(); ?>'; 

    return preg_replace($pattern, $replace, $value); 
} 

/** 
* Get the regular expression for a generic Blade function. 
* 
* @param string $function 
* @return string 
*/ 
public function createOpenMatcher($function) 
{ 
    return '/(?<!\w)(\s*)@'.$function.'(\s*\(.*)\)/'; 
} 
+0

Спасибо, мистер Спаркс, мне было очень любопытно. – user2094178

0

Я знаю, это ха s уже был дан ответ, но не будет ли работать следующее?

<?php include 'app/views/yourview.php'; ?> 

 Смежные вопросы

  • Нет связанных вопросов^_^