38 lines
1013 B
PHP
38 lines
1013 B
PHP
<?php
|
|
|
|
namespace Illuminate\View\Compilers\Concerns;
|
|
|
|
trait CompilesSessions
|
|
{
|
|
/**
|
|
* Compile the session statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileSession($expression)
|
|
{
|
|
$expression = $this->stripParentheses($expression);
|
|
|
|
return '<?php $__sessionArgs = ['.$expression.'];
|
|
if (session()->has($__sessionArgs[0])) :
|
|
if (isset($value)) { $__sessionPrevious[] = $value; }
|
|
$value = session()->get($__sessionArgs[0]); ?>';
|
|
}
|
|
|
|
/**
|
|
* Compile the endsession statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileEndsession($expression)
|
|
{
|
|
return '<?php unset($value);
|
|
if (isset($__sessionPrevious) && !empty($__sessionPrevious)) { $value = array_pop($__sessionPrevious); }
|
|
if (isset($__sessionPrevious) && empty($__sessionPrevious)) { unset($__sessionPrevious); }
|
|
endif;
|
|
unset($__sessionArgs); ?>';
|
|
}
|
|
}
|