BladeCompiler
class BladeCompiler extends Compiler implements CompilerInterface
Traits
Constants
| protected RAW_BLOCKS_CONTEXT_KEY |
|
| protected FOOTER_CONTEXT_KEY |
|
| protected PATH_CONTEXT_KEY |
The file currently being compiled. |
| protected ECHO_FORMAT_CONTEXT_KEY |
The "regular" / legacy echo string format. |
Properties
| protected array<string, callable> | $echoHandlers | Custom rendering callbacks for stringable objects. |
from CompilesEchos |
| protected string|null | $lastFragment | The last compiled fragment. |
from CompilesFragments |
| protected string|null | $lastSection | The name of the last section that was started. |
from CompilesLayouts |
| protected array | $extensions | All of the registered extensions. |
|
| protected array | $customDirectives | All custom "directive" handlers. |
|
| protected array | $conditions | All custom "condition" handlers. |
|
| protected array | $prepareStringsForCompilationUsing | The registered string preparation callbacks. |
|
| protected array | $precompilers | All of the registered precompilers. |
|
| protected string | $path | Intentionally unset until a path exists so getPath() fails fast. |
|
| 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 array | $footer | Array of footer lines to be added to the template. |
|
| protected array | $anonymousComponentPaths | The array of anonymous component paths to search for components in. |
|
| protected array | $anonymousComponentNamespaces | The array of anonymous component namespaces to autoload from. |
|
| protected array | $classComponentAliases | The array of class component aliases and their class names. |
|
| protected array | $classComponentNamespaces | The array of class component namespaces to autoload from. |
|
| protected bool | $compilesComponentTags | Indicates if component tags should be compiled. |
|
| protected ComponentTagCompiler | $componentTagCompiler | The component tag compiler instance. |
|
| protected | $template |
Methods
Create a new compiler instance.
Create the compiled file directory if necessary.
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 the conditional class statement into valid PHP.
Compile Blade comments into an empty string.
Compile the component statements into valid PHP.
Get a new component hash for a component name.
Compile a class component opening.
Compile the end-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 prop statement into valid PHP.
Compile the aware statement into valid PHP.
Sanitize the given component attribute value.
Compile the if-auth statements into valid PHP.
Compile the else-auth statements into valid PHP.
Compile the env statements into valid PHP.
Compile the production statements into valid PHP.
Compile the end-production 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 has-stack statements into valid PHP.
Compile the section-missing 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 a once block into valid PHP.
Compile a boolean value into a raw true / false value for embedding into HTML attributes or JavaScript.
Compile a checked block into valid PHP.
Compile a disabled block into valid PHP.
Compile a required block into valid PHP.
Compile a readonly block into valid PHP.
Compile a selected block into valid PHP.
Compile the push statements into valid PHP.
Compile the else-if push statements into valid PHP.
Compile the else push statements into valid PHP.
Compile the context statements into valid PHP.
Add a handler to be executed before echoing a given class.
Add an instance of the blade echo handler to the start of the compiled string.
Wrap the echoable value in an echo handler if applicable.
Apply the echo handler for the value if it exists.
Compile the error statements into valid PHP.
Compile the fragment statements into valid PHP.
Compile the end-fragment 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 "vite" statements into valid PHP.
Compile the "viteReactRefresh" statements into valid PHP.
Compile the "fonts" 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 include-isolated statements into valid PHP.
Compile the inject statements into valid PHP.
Compile the extends statements into valid PHP.
Compile the extends-first 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 session statements into valid PHP.
Compile the stack statements into the content.
Compile the push statements into valid PHP.
Compile the push-once statements into valid PHP.
Compile the end-push-once statements into valid PHP.
Compile the prepend statements into valid PHP.
Compile the prepend-once statements into valid PHP.
Compile the end-prepend-once statements into valid PHP.
Compile the conditional style statement into valid PHP.
Compile the lang statements into valid PHP.
Compile the choice statements into valid PHP.
Compile the use statements into valid PHP.
Get the class name of the first parameter of the given Closure.
Get the class names of the first parameter of the given Closure, including union types.
Get the class names / types of the parameters of the given Closure.
Get the class names / types of the return type of the given Closure.
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.
Details
at line 309
__construct($template)
Create a new compiler instance.
in
Compiler at line 33
string
getCompiledPath(string $path)
Get the path to the compiled version of a view.
in
Compiler at line 43
bool
isExpired(string $path)
Determine if the view at the given path is expired.
in
Compiler at line 78
protected void
ensureCompiledDirectoryExists(string $path)
Create the compiled file directory if necessary.
in
CompilesAuthorizations at line 12
protected string
compileCan(string $expression)
Compile the can statements into valid PHP.
in
CompilesAuthorizations at line 20
protected string
compileCannot(string $expression)
Compile the cannot statements into valid PHP.
in
CompilesAuthorizations at line 28
protected string
compileCanany(string $expression)
Compile the canany statements into valid PHP.
in
CompilesAuthorizations at line 36
protected string
compileElsecan(string $expression)
Compile the else-can statements into valid PHP.
in
CompilesAuthorizations at line 44
protected string
compileElsecannot(string $expression)
Compile the else-cannot statements into valid PHP.
in
CompilesAuthorizations at line 52
protected string
compileElsecanany(string $expression)
Compile the else-canany statements into valid PHP.
in
CompilesAuthorizations at line 60
protected string
compileEndcan()
Compile the end-can statements into valid PHP.
in
CompilesAuthorizations at line 68
protected string
compileEndcannot()
Compile the end-cannot statements into valid PHP.
in
CompilesAuthorizations at line 76
protected string
compileEndcanany()
Compile the end-canany statements into valid PHP.
in
CompilesClasses at line 12
protected string
compileClass(string|null $expression)
Compile the conditional class statement into valid PHP.
in
CompilesComments at line 12
protected string
compileComments(string $value)
Compile Blade comments into an empty string.
in
CompilesComponents at line 23
protected string
compileComponent(string $expression)
Compile the component statements into valid PHP.
in
CompilesComponents at line 45
static string
newComponentHash(string $component)
Get a new component hash for a component name.
in
CompilesComponents at line 61
static string
compileClassComponentOpening(string $component, string $alias, string $data, string $hash)
Compile a class component opening.
in
CompilesComponents at line 76
protected string
compileEndComponent()
Compile the end-component statements into valid PHP.
in
CompilesComponents at line 84
string
compileEndComponentClass()
Compile the end-component statements into valid PHP.
in
CompilesComponents at line 101
protected string
popComponentHashStack()
No description
in
CompilesComponents at line 115
protected string
compileSlot(string $expression)
Compile the slot statements into valid PHP.
in
CompilesComponents at line 123
protected string
compileEndSlot()
Compile the end-slot statements into valid PHP.
in
CompilesComponents at line 131
protected string
compileComponentFirst(string $expression)
Compile the component-first statements into valid PHP.
in
CompilesComponents at line 139
protected string
compileEndComponentFirst()
Compile the end-component-first statements into valid PHP.
in
CompilesComponents at line 147
protected string
compileProps(string $expression)
Compile the prop statement into valid PHP.
in
CompilesComponents at line 183
protected string
compileAware(string $expression)
Compile the aware statement into valid PHP.
in
CompilesComponents at line 194
static mixed
sanitizeComponentAttribute(mixed $value)
Sanitize the given component attribute value.
in
CompilesConditionals at line 20
protected string
compileAuth(string|null $guard = null)
Compile the if-auth statements into valid PHP.
in
CompilesConditionals at line 30
protected string
compileElseAuth(string|null $guard = null)
Compile the else-auth statements into valid PHP.
in
CompilesConditionals at line 40
protected string
compileEndAuth()
Compile the end-auth statements into valid PHP.
in
CompilesConditionals at line 48
protected string
compileEnv(string $environments)
Compile the env statements into valid PHP.
in
CompilesConditionals at line 56
protected string
compileEndEnv()
Compile the end-env statements into valid PHP.
in
CompilesConditionals at line 64
protected string
compileProduction()
Compile the production statements into valid PHP.
in
CompilesConditionals at line 72
protected string
compileEndProduction()
Compile the end-production statements into valid PHP.
in
CompilesConditionals at line 80
protected string
compileGuest(string|null $guard = null)
Compile the if-guest statements into valid PHP.
in
CompilesConditionals at line 90
protected string
compileElseGuest(string|null $guard = null)
Compile the else-guest statements into valid PHP.
in
CompilesConditionals at line 100
protected string
compileEndGuest()
Compile the end-guest statements into valid PHP.
in
CompilesConditionals at line 108
protected string
compileHasSection(string $expression)
Compile the has-section statements into valid PHP.
in
CompilesConditionals at line 116
protected string
compileHasStack(string $expression)
Compile the has-stack statements into valid PHP.
in
CompilesConditionals at line 124
protected string
compileSectionMissing(string $expression)
Compile the section-missing statements into valid PHP.
in
CompilesConditionals at line 132
protected string
compileIf(string $expression)
Compile the if statements into valid PHP.
in
CompilesConditionals at line 140
protected string
compileUnless(string $expression)
Compile the unless statements into valid PHP.
in
CompilesConditionals at line 148
protected string
compileElseif(string $expression)
Compile the else-if statements into valid PHP.
in
CompilesConditionals at line 156
protected string
compileElse()
Compile the else statements into valid PHP.
in
CompilesConditionals at line 164
protected string
compileEndif()
Compile the end-if statements into valid PHP.
in
CompilesConditionals at line 172
protected string
compileEndunless()
Compile the end-unless statements into valid PHP.
in
CompilesConditionals at line 180
protected string
compileIsset(string $expression)
Compile the if-isset statements into valid PHP.
in
CompilesConditionals at line 188
protected string
compileEndIsset()
Compile the end-isset statements into valid PHP.
in
CompilesConditionals at line 196
protected string
compileSwitch(string $expression)
Compile the switch statements into valid PHP.
in
CompilesConditionals at line 206
protected string
compileCase(string $expression)
Compile the case statements into valid PHP.
in
CompilesConditionals at line 220
protected string
compileDefault()
Compile the default statements in switch case into valid PHP.
in
CompilesConditionals at line 228
protected string
compileEndSwitch()
Compile the end switch statements into valid PHP.
in
CompilesConditionals at line 236
protected string
compileOnce(string|null $id = null)
Compile a once block into valid PHP.
in
CompilesConditionals at line 246
string
compileEndOnce()
Compile an end-once block into valid PHP.
in
CompilesConditionals at line 254
protected string
compileBool(string $condition)
Compile a boolean value into a raw true / false value for embedding into HTML attributes or JavaScript.
in
CompilesConditionals at line 262
protected string
compileChecked(string $condition)
Compile a checked block into valid PHP.
in
CompilesConditionals at line 270
protected string
compileDisabled(string $condition)
Compile a disabled block into valid PHP.
in
CompilesConditionals at line 278
protected string
compileRequired(string $condition)
Compile a required block into valid PHP.
in
CompilesConditionals at line 286
protected string
compileReadonly(string $condition)
Compile a readonly block into valid PHP.
in
CompilesConditionals at line 294
protected string
compileSelected(string $condition)
Compile a selected block into valid PHP.
in
CompilesConditionals at line 302
protected string
compilePushIf(string $expression)
Compile the push statements into valid PHP.
in
CompilesConditionals at line 312
protected string
compileElsePushIf(string $expression)
Compile the else-if push statements into valid PHP.
in
CompilesConditionals at line 322
protected string
compileElsePush(string $expression)
Compile the else push statements into valid PHP.
in
CompilesConditionals at line 330
protected string
compileEndPushIf()
Compile the end-push statements into valid PHP.
in
CompilesContexts at line 12
protected string
compileContext(string $expression)
Compile the context statements into valid PHP.
in
CompilesContexts at line 25
protected string
compileEndcontext()
Compile the endcontext statements into valid PHP.
in
CompilesEchos at line 22
void
stringable(string|callable $class, callable|null $handler = null)
Add a handler to be executed before echoing a given class.
in
CompilesEchos at line 34
string
compileEchos(string $value)
Compile Blade echos into valid PHP.
in
CompilesEchos at line 48
protected array
getEchoMethods()
Get the echo methods in the proper order for compilation.
in
CompilesEchos at line 60
protected string
compileRawEchos(string $value)
Compile the "raw" echo statements.
in
CompilesEchos at line 78
protected string
compileRegularEchos(string $value)
Compile the "regular" echo statements.
in
CompilesEchos at line 96
protected string
compileEscapedEchos(string $value)
Compile the escaped echo statements.
in
CompilesEchos at line 114
protected string
addBladeCompilerVariable(string $result)
Add an instance of the blade echo handler to the start of the compiled string.
in
CompilesEchos at line 122
protected string
wrapInEchoHandler(string $value)
Wrap the echoable value in an echo handler if applicable.
in
CompilesEchos at line 136
mixed
applyEchoHandler(mixed $value)
Apply the echo handler for the value if it exists.
in
CompilesErrors at line 12
protected string
compileError(string $expression)
Compile the error statements into valid PHP.
in
CompilesErrors at line 26
protected string
compileEnderror()
Compile the enderror statements into valid PHP.
in
CompilesFragments at line 17
protected string
compileFragment(string $expression)
Compile the fragment statements into valid PHP.
in
CompilesFragments at line 27
protected string
compileEndfragment()
Compile the end-fragment statements into valid PHP.
in
CompilesHelpers at line 14
protected string
compileCsrf()
Compile the CSRF statements into valid PHP.
in
CompilesHelpers at line 22
protected string
compileDd(string $arguments)
Compile the "dd" statements into valid PHP.
in
CompilesHelpers at line 30
protected string
compileDump(string $arguments)
Compile the "dump" statements into valid PHP.
in
CompilesHelpers at line 38
protected string
compileMethod(string $method)
Compile the method statements into valid PHP.
in
CompilesHelpers at line 46
protected string
compileVite(string|null $arguments)
Compile the "vite" statements into valid PHP.
in
CompilesHelpers at line 58
protected string
compileViteReactRefresh()
Compile the "viteReactRefresh" statements into valid PHP.
in
CompilesHelpers at line 68
protected string
compileFonts(string|null $arguments)
Compile the "fonts" statements into valid PHP.
in
CompilesIncludes at line 12
protected string
compileEach(string $expression)
Compile the each statements into valid PHP.
in
CompilesIncludes at line 20
protected string
compileInclude(string $expression)
Compile the include statements into valid PHP.
in
CompilesIncludes at line 30
protected string
compileIncludeIf(string $expression)
Compile the include-if statements into valid PHP.
in
CompilesIncludes at line 40
protected string
compileIncludeWhen(string $expression)
Compile the include-when statements into valid PHP.
in
CompilesIncludes at line 50
protected string
compileIncludeUnless(string $expression)
Compile the include-unless statements into valid PHP.
in
CompilesIncludes at line 60
protected string
compileIncludeFirst(string $expression)
Compile the include-first statements into valid PHP.
in
CompilesIncludes at line 70
protected string
compileIncludeIsolated(string $expression)
Compile the include-isolated statements into valid PHP.
in
CompilesInjections at line 12
protected string
compileInject(string $expression)
Compile the inject statements into valid PHP.
in
CompilesJson at line 17
protected string
compileJson(string $expression)
Compile the JSON statement into valid PHP.
in
CompilesJs at line 14
protected string
compileJs(string $expression)
Compile the "@js" directive into valid PHP.
in
CompilesLayouts at line 17
protected string
compileExtends(string $expression)
Compile the extends statements into valid PHP.
in
CompilesLayouts at line 31
protected string
compileExtendsFirst(string $expression)
Compile the extends-first statements into valid PHP.
in
CompilesLayouts at line 45
protected string
compileSection(string $expression)
Compile the section statements into valid PHP.
in
CompilesLayouts at line 55
protected string
compileParent()
Replace the @parent directive to a placeholder.
in
CompilesLayouts at line 65
protected string
compileYield(string $expression)
Compile the yield statements into valid PHP.
in
CompilesLayouts at line 73
protected string
compileShow()
Compile the show statements into valid PHP.
in
CompilesLayouts at line 81
protected string
compileAppend()
Compile the append statements into valid PHP.
in
CompilesLayouts at line 89
protected string
compileOverwrite()
Compile the overwrite statements into valid PHP.
in
CompilesLayouts at line 97
protected string
compileStop()
Compile the stop statements into valid PHP.
in
CompilesLayouts at line 105
protected string
compileEndsection()
Compile the end-section statements into valid PHP.
in
CompilesLoops at line 17
protected int
incrementForElseCounter()
No description
in
CompilesLoops at line 24
protected int
decrementForElseCounter()
No description
in
CompilesLoops at line 31
protected int
getForElseCounter()
No description
in
CompilesLoops at line 41
protected string
compileForelse(string|null $expression)
Compile the for-else statements into valid PHP.
in
CompilesLoops at line 66
protected string
compileEmpty(string|null $expression)
Compile the for-else-empty and empty statements into valid PHP.
in
CompilesLoops at line 81
protected string
compileEndforelse()
Compile the end-for-else statements into valid PHP.
in
CompilesLoops at line 89
protected string
compileEndEmpty()
Compile the end-empty statements into valid PHP.
in
CompilesLoops at line 97
protected string
compileFor(string $expression)
Compile the for statements into valid PHP.
in
CompilesLoops at line 107
protected string
compileForeach(string|null $expression)
Compile the for-each statements into valid PHP.
in
CompilesLoops at line 129
protected string
compileBreak(string|null $expression = null)
Compile the break statements into valid PHP.
in
CompilesLoops at line 143
protected string
compileContinue(string|null $expression)
Compile the continue statements into valid PHP.
in
CompilesLoops at line 157
protected string
compileEndfor()
Compile the end-for statements into valid PHP.
in
CompilesLoops at line 165
protected string
compileEndforeach()
Compile the end-for-each statements into valid PHP.
in
CompilesLoops at line 173
protected string
compileWhile(string $expression)
Compile the while statements into valid PHP.
in
CompilesLoops at line 181
protected string
compileEndwhile()
Compile the end-while statements into valid PHP.
in
CompilesRawPhp at line 12
protected string
compilePhp(string|null $expression)
Compile the raw PHP statements into valid PHP.
in
CompilesRawPhp at line 24
protected string
compileUnset(string $expression)
Compile the unset statements into valid PHP.
in
CompilesSessions at line 12
protected string
compileSession(string $expression)
Compile the session statements into valid PHP.
in
CompilesSessions at line 25
protected string
compileEndsession()
Compile the endsession statements into valid PHP.
in
CompilesStacks at line 14
protected string
compileStack(string $expression)
Compile the stack statements into the content.
in
CompilesStacks at line 22
protected string
compilePush(string $expression)
Compile the push statements into valid PHP.
in
CompilesStacks at line 30
protected string
compilePushOnce(string $expression)
Compile the push-once statements into valid PHP.
in
CompilesStacks at line 45
protected string
compileEndpush()
Compile the end-push statements into valid PHP.
in
CompilesStacks at line 53
protected string
compileEndpushOnce()
Compile the end-push-once statements into valid PHP.
in
CompilesStacks at line 61
protected string
compilePrepend(string $expression)
Compile the prepend statements into valid PHP.
in
CompilesStacks at line 69
protected string
compilePrependOnce(string $expression)
Compile the prepend-once statements into valid PHP.
in
CompilesStacks at line 84
protected string
compileEndprepend()
Compile the end-prepend statements into valid PHP.
in
CompilesStacks at line 92
protected string
compileEndprependOnce()
Compile the end-prepend-once statements into valid PHP.
in
CompilesStyles at line 12
protected string
compileStyle(string|null $expression)
Compile the conditional style statement into valid PHP.
in
CompilesTranslations at line 12
protected string
compileLang(string|null $expression)
Compile the lang statements into valid PHP.
in
CompilesTranslations at line 27
protected string
compileEndlang()
Compile the end-lang statements into valid PHP.
in
CompilesTranslations at line 35
protected string
compileChoice(string $expression)
Compile the choice statements into valid PHP.
in
CompilesUseStatements at line 12
protected string
compileUse(string $expression)
Compile the use statements into valid PHP.
in
ReflectsClosures at line 25
protected string
firstClosureParameterType(Closure $closure)
Get the class name of the first parameter of the given Closure.
in
ReflectsClosures at line 48
protected array
firstClosureParameterTypes(Closure $closure)
Get the class names of the first parameter of the given Closure, including union types.
in
ReflectsClosures at line 74
protected array
closureParameterTypes(Closure $closure)
Get the class names / types of the parameters of the given Closure.
in
ReflectsClosures at line 94
protected array
closureReturnTypes(Closure $closure)
Get the class names / types of the return type of the given Closure.
at line 159
void
compile(string|null $path = null)
Compile the view at the given path.
at line 199
protected string
appendFilePath(string $contents)
Append the file path to the compiled string.
at line 213
protected Collection
getOpenAndClosingPhpTokens(string $contents)
Get the open and closing PHP tag tokens from the given string.
at line 229
string
getPath()
Get the path currently being compiled.
at line 241
void
setPath(string $path)
Set the path currently being compiled.
at line 249
string
compileString(string $value)
Compile the given Blade template contents.