70 lines
1.5 KiB
PHP
70 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\View\Compilers\Concerns;
|
|
|
|
trait CompilesComponents
|
|
{
|
|
/**
|
|
* Compile the component statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileComponent($expression)
|
|
{
|
|
return "<?php \$__env->startComponent{$expression}; ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the end-component statements into valid PHP.
|
|
*
|
|
* @return string
|
|
*/
|
|
protected function compileEndComponent()
|
|
{
|
|
return '<?php echo $__env->renderComponent(); ?>';
|
|
}
|
|
|
|
/**
|
|
* Compile the slot statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileSlot($expression)
|
|
{
|
|
return "<?php \$__env->slot{$expression}; ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the end-slot statements into valid PHP.
|
|
*
|
|
* @return string
|
|
*/
|
|
protected function compileEndSlot()
|
|
{
|
|
return '<?php $__env->endSlot(); ?>';
|
|
}
|
|
|
|
/**
|
|
* Compile the component-first statements into valid PHP.
|
|
*
|
|
* @param string $expression
|
|
* @return string
|
|
*/
|
|
protected function compileComponentFirst($expression)
|
|
{
|
|
return "<?php \$__env->startComponentFirst{$expression}; ?>";
|
|
}
|
|
|
|
/**
|
|
* Compile the end-component-first statements into valid PHP.
|
|
*
|
|
* @return string
|
|
*/
|
|
protected function compileEndComponentFirst()
|
|
{
|
|
return $this->compileEndComponent();
|
|
}
|
|
}
|