CompilesAuthorizations.php
TLDR
This file provides a trait called "CompilesAuthorizations" which contains methods for compiling authorization statements in Laravel views. These methods generate valid PHP code for checking user permissions.
Methods
compileCan($expression)
This method compiles the "can" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileCannot($expression)
This method compiles the "cannot" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileCanany($expression)
This method compiles the "canany" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileElsecan($expression)
This method compiles the "else-can" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileElsecannot($expression)
This method compiles the "else-cannot" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileElsecanany($expression)
This method compiles the "else-canany" statements into valid PHP code. It takes an expression as a parameter and returns a string containing the generated PHP code.
compileEndcan()
This method compiles the "end-can" statements into valid PHP code. It returns a string containing the generated PHP code.
compileEndcannot()
This method compiles the "end-cannot" statements into valid PHP code. It returns a string containing the generated PHP code.
compileEndcanany()
This method compiles the "end-canany" statements into valid PHP code. It returns a string containing the generated PHP code.
<?php
namespace Illuminate\View\Compilers\Concerns;
trait CompilesAuthorizations
{
/**
* Compile the can statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileCan($expression)
{
return "<?php if (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->check{$expression}): ?>";
}
/**
* Compile the cannot statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileCannot($expression)
{
return "<?php if (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->denies{$expression}): ?>";
}
/**
* Compile the canany statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileCanany($expression)
{
return "<?php if (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->any{$expression}): ?>";
}
/**
* Compile the else-can statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileElsecan($expression)
{
return "<?php elseif (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->check{$expression}): ?>";
}
/**
* Compile the else-cannot statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileElsecannot($expression)
{
return "<?php elseif (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->denies{$expression}): ?>";
}
/**
* Compile the else-canany statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileElsecanany($expression)
{
return "<?php elseif (app(\Illuminate\\Contracts\\Auth\\Access\\Gate::class)->any{$expression}): ?>";
}
/**
* Compile the end-can statements into valid PHP.
*
* @return string
*/
protected function compileEndcan()
{
return '<?php endif; ?>';
}
/**
* Compile the end-cannot statements into valid PHP.
*
* @return string
*/
protected function compileEndcannot()
{
return '<?php endif; ?>';
}
/**
* Compile the end-canany statements into valid PHP.
*
* @return string
*/
protected function compileEndcanany()
{
return '<?php endif; ?>';
}
}