BladeCompiler
class BladeCompiler extends Compiler implements CompilerInterface (View source)
Traits
Properties
| protected Filesystem | $files | The Filesystem instance.  | 
                from Compiler | 
| protected string | $cachePath | Get the cache path for the compiled views.  | 
                from Compiler | 
| protected bool | $firstCaseInSwitch | Identifier for the first case in switch statement.  | 
                from CompilesConditionals | 
| protected string | $lastSection | The name of the last section that was started.  | 
                from CompilesLayouts | 
| protected int | $forElseCounter | Counter to keep track of nested forelse statements.  | 
                from CompilesLoops | 
| protected array | $extensions | All of the registered extensions.  | 
                |
| protected array | $customDirectives | All custom "directive" handlers.  | 
                |
| protected array | $conditions | All custom "condition" handlers.  | 
                |
| protected string | $path | The file currently being compiled.  | 
                |
| protected array | $compilers | All of the available compiler functions.  | 
                |
| protected array | $rawTags | Array of opening and closing tags for raw echos.  | 
                |
| protected array | $contentTags | Array of opening and closing tags for regular echos.  | 
                |
| protected array | $escapedTags | Array of opening and closing tags for escaped echos.  | 
                |
| protected string | $echoFormat | The "regular" / legacy echo string format.  | 
                |
| protected array | $footer | Array of footer lines to be added to template.  | 
                |
| protected array | $rawBlocks | Array to temporary store the raw blocks found in the template.  | 
                
Methods
Compile the can statements into valid PHP.
Compile the cannot statements into valid PHP.
Compile the canany statements into valid PHP.
Compile the else-can statements into valid PHP.
Compile the else-cannot statements into valid PHP.
Compile the else-canany statements into valid PHP.
Compile the end-cannot statements into valid PHP.
Compile the end-canany statements into valid PHP.
Compile Blade comments into an empty string.
Compile the component statements into valid PHP.
Compile the end-component statements into valid PHP.
Compile the slot statements into valid PHP.
Compile the component-first statements into valid PHP.
Compile the end-component-first statements into valid PHP.
Compile the if-auth statements into valid PHP.
Compile the else-auth statements into valid PHP.
Compile the if-guest statements into valid PHP.
Compile the else-guest statements into valid PHP.
Compile the has-section statements into valid PHP.
Compile the if statements into valid PHP.
Compile the unless statements into valid PHP.
Compile the else-if statements into valid PHP.
Compile the end-unless statements into valid PHP.
Compile the if-isset statements into valid PHP.
Compile the switch statements into valid PHP.
Compile the case statements into valid PHP.
Compile the default statements in switch case into valid PHP.
Compile the end switch statements into valid PHP.
Compile the error statements into valid PHP.
Compile the enderror statements into valid PHP.
Compile the "dd" statements into valid PHP.
Compile the "dump" statements into valid PHP.
Compile the method statements into valid PHP.
Compile the each statements into valid PHP.
Compile the include statements into valid PHP.
Compile the include-if statements into valid PHP.
Compile the include-when statements into valid PHP.
Compile the include-unless statements into valid PHP.
Compile the include-first statements into valid PHP.
Compile the inject statements into valid PHP.
Compile the extends statements into valid PHP.
Compile the section statements into valid PHP.
Compile the yield statements into valid PHP.
Compile the for-else statements into valid PHP.
Compile the for-else-empty and empty statements into valid PHP.
Compile the for-each statements into valid PHP.
Compile the break statements into valid PHP.
Compile the continue statements into valid PHP.
Compile the while statements into valid PHP.
Compile the raw PHP statements into valid PHP.
Compile the unset statements into valid PHP.
Compile the stack statements into the content.
Compile the push statements into valid PHP.
Compile the prepend statements into valid PHP.
Compile the lang statements into valid PHP.
Compile the choice statements into valid PHP.
Compile the view at the given path.
Append the file path to the compiled string.
Get the open and closing PHP tag tokens from the given string.
Get the path currently being compiled.
Set the path currently being compiled.
Compile the given Blade template contents.
Store the blocks that do not receive compilation.
Store the verbatim blocks and replace them with a temporary placeholder.
Store the PHP blocks and replace them with a temporary placeholder.
Store a raw block and return a unique raw placeholder.
Replace the raw placeholders with the original code stored in the raw blocks.
Get a placeholder to temporary mark the position of raw blocks.
Add the stored footers onto the given content.
Parse the tokens from the template.
Execute the user defined extensions.
Compile Blade statements that start with "@".
Compile a single Blade @ statement.
Call the given directive with the given value.
Strip the parentheses from the given expression.
Register a custom Blade compiler.
Get the extensions used by the compiler.
Register an "if" statement directive.
Check the result of a condition.
Register a component alias directive.
Register an include alias directive.
Register a handler for custom directives.
Get the list of custom directives.
Set the echo format to be used by the compiler.
Set the "echo" format to double encode entities.
Set the "echo" format to not double encode entities.
Details
        
                            void
    __construct(Filesystem $files, string $cachePath)
        
    
    Create a new compiler instance.
        
                            string
    getCompiledPath(string $path)
        
    
    Get the path to the compiled version of a view.
        
                            bool
    isExpired(string $path)
        
    
    Determine if the view at the given path is expired.
        
                    protected        string
    compileCan(string $expression)
        
    
    Compile the can statements into valid PHP.
        
                    protected        string
    compileCannot(string $expression)
        
    
    Compile the cannot statements into valid PHP.
        
                    protected        string
    compileCanany(string $expression)
        
    
    Compile the canany statements into valid PHP.
        
                    protected        string
    compileElsecan(string $expression)
        
    
    Compile the else-can statements into valid PHP.
        
                    protected        string
    compileElsecannot(string $expression)
        
    
    Compile the else-cannot statements into valid PHP.
        
                    protected        string
    compileElsecanany(string $expression)
        
    
    Compile the else-canany statements into valid PHP.
        
                    protected        string
    compileEndcan()
        
    
    Compile the end-can statements into valid PHP.
        
                    protected        string
    compileEndcannot()
        
    
    Compile the end-cannot statements into valid PHP.
        
                    protected        string
    compileEndcanany()
        
    
    Compile the end-canany statements into valid PHP.
        
                    protected        string
    compileComments(string $value)
        
    
    Compile Blade comments into an empty string.
        
                    protected        string
    compileComponent(string $expression)
        
    
    Compile the component statements into valid PHP.
        
                    protected        string
    compileEndComponent()
        
    
    Compile the end-component statements into valid PHP.
        
                    protected        string
    compileSlot(string $expression)
        
    
    Compile the slot statements into valid PHP.
        
                    protected        string
    compileEndSlot()
        
    
    Compile the end-slot statements into valid PHP.
        
                    protected        string
    compileComponentFirst(string $expression)
        
    
    Compile the component-first statements into valid PHP.
        
                    protected        string
    compileEndComponentFirst()
        
    
    Compile the end-component-first statements into valid PHP.
        
                    protected        string
    compileAuth(string|null $guard = null)
        
    
    Compile the if-auth statements into valid PHP.
        
                    protected        string
    compileElseAuth(string|null $guard = null)
        
    
    Compile the else-auth statements into valid PHP.
        
                    protected        string
    compileEndAuth()
        
    
    Compile the end-auth statements into valid PHP.
        
                    protected        string
    compileGuest(string|null $guard = null)
        
    
    Compile the if-guest statements into valid PHP.
        
                    protected        string
    compileElseGuest(string|null $guard = null)
        
    
    Compile the else-guest statements into valid PHP.
        
                    protected        string
    compileEndGuest()
        
    
    Compile the end-guest statements into valid PHP.
        
                    protected        string
    compileHasSection(string $expression)
        
    
    Compile the has-section statements into valid PHP.
        
                    protected        string
    compileIf(string $expression)
        
    
    Compile the if statements into valid PHP.
        
                    protected        string
    compileUnless(string $expression)
        
    
    Compile the unless statements into valid PHP.
        
                    protected        string
    compileElseif(string $expression)
        
    
    Compile the else-if statements into valid PHP.
        
                    protected        string
    compileElse()
        
    
    Compile the else statements into valid PHP.
        
                    protected        string
    compileEndif()
        
    
    Compile the end-if statements into valid PHP.
        
                    protected        string
    compileEndunless()
        
    
    Compile the end-unless statements into valid PHP.
        
                    protected        string
    compileIsset(string $expression)
        
    
    Compile the if-isset statements into valid PHP.
        
                    protected        string
    compileEndIsset()
        
    
    Compile the end-isset statements into valid PHP.
        
                    protected        string
    compileSwitch(string $expression)
        
    
    Compile the switch statements into valid PHP.
        
                    protected        string
    compileCase(string $expression)
        
    
    Compile the case statements into valid PHP.
        
                    protected        string
    compileDefault()
        
    
    Compile the default statements in switch case into valid PHP.
        
                    protected        string
    compileEndSwitch()
        
    
    Compile the end switch statements into valid PHP.
        
                    protected        string
    compileEchos(string $value)
        
    
    Compile Blade echos into valid PHP.
        
                    protected        array
    getEchoMethods()
        
    
    Get the echo methods in the proper order for compilation.
        
                    protected        string
    compileRawEchos(string $value)
        
    
    Compile the "raw" echo statements.
        
                    protected        string
    compileRegularEchos(string $value)
        
    
    Compile the "regular" echo statements.
        
                    protected        string
    compileEscapedEchos(string $value)
        
    
    Compile the escaped echo statements.
        
                    protected        string
    compileError(string $expression)
        
    
    Compile the error statements into valid PHP.
        
                    protected        string
    compileEnderror(string $expression)
        
    
    Compile the enderror statements into valid PHP.
        
                    protected        string
    compileCsrf()
        
    
    Compile the CSRF statements into valid PHP.
        
                    protected        string
    compileDd(string $arguments)
        
    
    Compile the "dd" statements into valid PHP.
        
                    protected        string
    compileDump(string $arguments)
        
    
    Compile the "dump" statements into valid PHP.
        
                    protected        string
    compileMethod(string $method)
        
    
    Compile the method statements into valid PHP.
        
                    protected        string
    compileEach(string $expression)
        
    
    Compile the each statements into valid PHP.
        
                    protected        string
    compileInclude(string $expression)
        
    
    Compile the include statements into valid PHP.
        
                    protected        string
    compileIncludeIf(string $expression)
        
    
    Compile the include-if statements into valid PHP.
        
                    protected        string
    compileIncludeWhen(string $expression)
        
    
    Compile the include-when statements into valid PHP.
        
                    protected        string
    compileIncludeUnless(string $expression)
        
    
    Compile the include-unless statements into valid PHP.
        
                    protected        string
    compileIncludeFirst(string $expression)
        
    
    Compile the include-first statements into valid PHP.
        
                    protected        string
    compileInject(string $expression)
        
    
    Compile the inject statements into valid PHP.
        
                    protected        string
    compileJson(string $expression)
        
    
    Compile the JSON statement into valid PHP.
        
                    protected        string
    compileExtends(string $expression)
        
    
    Compile the extends statements into valid PHP.
        
                    protected        string
    compileSection(string $expression)
        
    
    Compile the section statements into valid PHP.
        
                    protected        string
    compileParent()
        
    
    Replace the @parent directive to a placeholder.
        
                    protected        string
    compileYield(string $expression)
        
    
    Compile the yield statements into valid PHP.
        
                    protected        string
    compileShow()
        
    
    Compile the show statements into valid PHP.
        
                    protected        string
    compileAppend()
        
    
    Compile the append statements into valid PHP.
        
                    protected        string
    compileOverwrite()
        
    
    Compile the overwrite statements into valid PHP.
        
                    protected        string
    compileStop()
        
    
    Compile the stop statements into valid PHP.
        
                    protected        string
    compileEndsection()
        
    
    Compile the end-section statements into valid PHP.
        
                    protected        string
    compileForelse(string $expression)
        
    
    Compile the for-else statements into valid PHP.
        
                    protected        string
    compileEmpty(string $expression)
        
    
    Compile the for-else-empty and empty statements into valid PHP.
        
                    protected        string
    compileEndforelse()
        
    
    Compile the end-for-else statements into valid PHP.
        
                    protected        string
    compileEndEmpty()
        
    
    Compile the end-empty statements into valid PHP.
        
                    protected        string
    compileFor(string $expression)
        
    
    Compile the for statements into valid PHP.
        
                    protected        string
    compileForeach(string $expression)
        
    
    Compile the for-each statements into valid PHP.
        
                    protected        string
    compileBreak(string $expression)
        
    
    Compile the break statements into valid PHP.
        
                    protected        string
    compileContinue(string $expression)
        
    
    Compile the continue statements into valid PHP.
        
                    protected        string
    compileEndfor()
        
    
    Compile the end-for statements into valid PHP.
        
                    protected        string
    compileEndforeach()
        
    
    Compile the end-for-each statements into valid PHP.
        
                    protected        string
    compileWhile(string $expression)
        
    
    Compile the while statements into valid PHP.
        
                    protected        string
    compileEndwhile()
        
    
    Compile the end-while statements into valid PHP.
        
                    protected        string
    compilePhp(string $expression)
        
    
    Compile the raw PHP statements into valid PHP.
        
                    protected        string
    compileUnset(string $expression)
        
    
    Compile the unset statements into valid PHP.
        
                    protected        string
    compileStack(string $expression)
        
    
    Compile the stack statements into the content.
        
                    protected        string
    compilePush(string $expression)
        
    
    Compile the push statements into valid PHP.
        
                    protected        string
    compileEndpush()
        
    
    Compile the end-push statements into valid PHP.
        
                    protected        string
    compilePrepend(string $expression)
        
    
    Compile the prepend statements into valid PHP.
        
                    protected        string
    compileEndprepend()
        
    
    Compile the end-prepend statements into valid PHP.
        
                    protected        string
    compileLang(string $expression)
        
    
    Compile the lang statements into valid PHP.
        
                    protected        string
    compileEndlang()
        
    
    Compile the end-lang statements into valid PHP.
        
                    protected        string
    compileChoice(string $expression)
        
    
    Compile the choice statements into valid PHP.
        
                            void
    compile(string $path = null)
        
    
    Compile the view at the given path.
        
                    protected        string
    appendFilePath(string $contents)
        
    
    Append the file path to the compiled string.
        
                    protected        Collection
    getOpenAndClosingPhpTokens(string $contents)
        
    
    Get the open and closing PHP tag tokens from the given string.
        
                            string
    getPath()
        
    
    Get the path currently being compiled.
        
                            void
    setPath(string $path)
        
    
    Set the path currently being compiled.
        
                            string
    compileString(string $value)
        
    
    Compile the given Blade template contents.
        
                    protected        string
    storeUncompiledBlocks(string $value)
        
    
    Store the blocks that do not receive compilation.
        
                    protected        string
    storeVerbatimBlocks(string $value)
        
    
    Store the verbatim blocks and replace them with a temporary placeholder.
        
                    protected        string
    storePhpBlocks(string $value)
        
    
    Store the PHP blocks and replace them with a temporary placeholder.
        
                    protected        string
    storeRawBlock(string $value)
        
    
    Store a raw block and return a unique raw placeholder.
        
                    protected        string
    restoreRawContent(string $result)
        
    
    Replace the raw placeholders with the original code stored in the raw blocks.
        
                    protected        string
    getRawPlaceholder(int|string $replace)
        
    
    Get a placeholder to temporary mark the position of raw blocks.
        
                    protected        string
    addFooters(string $result)
        
    
    Add the stored footers onto the given content.
        
                    protected        string
    parseToken(array $token)
        
    
    Parse the tokens from the template.
        
                    protected        string
    compileExtensions(string $value)
        
    
    Execute the user defined extensions.
        
                    protected        string
    compileStatements(string $value)
        
    
    Compile Blade statements that start with "@".
        
                    protected        string
    compileStatement(array $match)
        
    
    Compile a single Blade @ statement.
        
                    protected        string
    callCustomDirective(string $name, string|null $value)
        
    
    Call the given directive with the given value.
        
                            string
    stripParentheses(string $expression)
        
    
    Strip the parentheses from the given expression.
        
                            void
    extend(callable $compiler)
        
    
    Register a custom Blade compiler.
        
                            array
    getExtensions()
        
    
    Get the extensions used by the compiler.
        
                            void
    if(string $name, callable $callback)
        
    
    Register an "if" statement directive.
        
                            bool
    check(string $name, array ...$parameters)
        
    
    Check the result of a condition.
        
                            void
    component(string $path, string|null $alias = null)
        
    
    Register a component alias directive.
        
                            void
    include(string $path, string|null $alias = null)
        
    
    Register an include alias directive.
        
                            void
    directive(string $name, callable $handler)
        
    
    Register a handler for custom directives.
        
                            array
    getCustomDirectives()
        
    
    Get the list of custom directives.
        
                            void
    setEchoFormat(string $format)
        
    
    Set the echo format to be used by the compiler.
        
                            void
    withDoubleEncoding()
        
    
    Set the "echo" format to double encode entities.
        
                            void
    withoutDoubleEncoding()
        
    
    Set the "echo" format to not double encode entities.