70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\View\Compilers\Concerns;
|
|
|
|
trait CompilesIncludes
|
|
{
|
|
/**
|
|
* Compile the each statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileEach($expression)
|
|
{
|
|
return "<?php echo \$__env->renderEach{$expression}; ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the include statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileInclude($expression)
|
|
{
|
|
$expression = $this->stripParentheses($expression);
|
|
|
|
return "<?php echo \$__env->make({$expression}, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the include-if statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileIncludeIf($expression)
|
|
{
|
|
$expression = $this->stripParentheses($expression);
|
|
|
|
return "<?php if (\$__env->exists({$expression})) echo \$__env->make({$expression}, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the include-when statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileIncludeWhen($expression)
|
|
{
|
|
$expression = $this->stripParentheses($expression);
|
|
|
|
return "<?php echo \$__env->renderWhen($expression, array_except(get_defined_vars(), array('__data', '__path'))); ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the include-first statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileIncludeFirst($expression)
|
|
{
|
|
$expression = $this->stripParentheses($expression);
|
|
|
|
return "<?php echo \$__env->first({$expression}, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>";
|
|
}
|
|
}
|