class Factory implements Factory

Traits

Properties

protected array $componentStack

The components being rendered.

from  ManagesComponents
protected array $componentData

The original data passed to the component.

from  ManagesComponents
protected array $slots

The slot contents for the component.

from  ManagesComponents
protected array $slotStack

The names of the slots being rendered.

from  ManagesComponents
protected array $sections

All of the finished, captured sections.

from  ManagesLayouts
protected array $sectionStack

The stack of in-progress sections.

from  ManagesLayouts
static protected string $parentPlaceholder

The parent placeholder for the request.

from  ManagesLayouts
protected array $loopsStack

The stack of in-progress loops.

from  ManagesLoops
protected array $pushes

All of the finished, captured push sections.

from  ManagesStacks
protected array $prepends

All of the finished, captured prepend sections.

from  ManagesStacks
protected array $pushStack

The stack of in-progress push sections.

from  ManagesStacks
protected array $translationReplacements

The translation replacements for the translation being rendered.

from  ManagesTranslations
protected EngineResolver $engines

The engine implementation.

protected ViewFinderInterface $finder

The view finder implementation.

protected Dispatcher $events

The event dispatcher instance.

protected Container $container

The IoC container instance.

protected array $shared

Data that should be available to all templates.

protected array $extensions

The extension to engine bindings.

protected array $composers

The view composer events.

protected int $renderCount

The number of active rendering operations.

Methods

void
startComponent(string $name, array $data = [])

Start a component rendering process.

string
renderComponent()

Render the current component.

array
componentData(string $name)

Get the data for the given component.

void
slot(string $name, string|null $content = null)

Start the slot rendering process.

void
endSlot()

Save the slot content for rendering.

int
currentComponent()

Get the index for the current component.

array
creator(array|string $views, Closure|string $callback)

Register a view creator event.

array
composers(array $composers)

Register multiple view composers via an array.

array
composer(array|string $views, Closure|string $callback)

Register a view composer event.

Closure|null
addViewEvent(string $view, Closure|string $callback, string $prefix = 'composing: ')

Add an event for a given view.

addClassEvent(string $view, string $class, string $prefix)

Register a class based view composer.

buildClassEventCallback(string $class, string $prefix)

Build a class based container callback Closure.

array
parseClassEvent(string $class, string $prefix)

Parse a class based composer name.

string
classEventMethodForPrefix(string $prefix)

Determine the class event method based on the given prefix.

void
addEventListener(string $name, Closure $callback)

Add a listener to the event dispatcher.

void
callComposer(View $view)

Call the composer for a given view.

void
callCreator(View $view)

Call the creator for a given view.

void
startSection(string $section, string|null $content = null)

Start injecting content into a section.

void
inject(string $section, string $content)

Inject inline content into a section.

string
yieldSection()

Stop injecting content into a section and return its contents.

string
stopSection(bool $overwrite = false)

Stop injecting content into a section.

string
appendSection()

Stop injecting content into a section and append it.

void
extendSection(string $section, string $content)

Append content to a given section.

string
yieldContent(string $section, string $default = '')

Get the string contents of a section.

static string
parentPlaceholder(string $section = '')

Get the parent placeholder for the current request.

bool
hasSection(string $name)

Check if section exists.

mixed
getSection(string $name, string $default = null)

Get the contents of a section.

array
getSections()

Get the entire array of sections.

void
flushSections()

Flush all of the sections.

void
addLoop(Countable|array $data)

Add new loop to the stack.

void
incrementLoopIndices()

Increment the top loop's indices.

void
popLoop()

Pop a loop from the top of the loop stack.

stdClass|null
getLastLoop()

Get an instance of the last loop in the stack.

array
getLoopStack()

Get the entire loop stack.

void
startPush(string $section, string $content = '')

Start injecting content into a push section.

string
stopPush()

Stop injecting content into a push section.

void
extendPush(string $section, string $content)

Append content to a given push section.

void
startPrepend(string $section, string $content = '')

Start prepending content into a push section.

string
stopPrepend()

Stop prepending content into a push section.

void
extendPrepend(string $section, string $content)

Prepend content to a given stack.

string
yieldPushContent(string $section, string $default = '')

Get the string contents of a push section.

void
flushStacks()

Flush all of the stacks.

void
startTranslation(array $replacements = [])

Start a translation block.

string
renderTranslation()

Render the current translation.

void
__construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)

Create a new view factory instance.

file(string $path, array $data = [], array $mergeData = [])

Get the evaluated view contents for the given view.

make(string $view, array $data = [], array $mergeData = [])

Get the evaluated view contents for the given view.

string
renderWhen(bool $condition, string $view, array $data = [], array $mergeData = [])

Get the rendered content of the view based on a given condition.

string
renderEach(string $view, array $data, string $iterator, string $empty = 'raw|')

Get the rendered contents of a partial from a loop.

string
normalizeName(string $name)

Normalize a view name.

array
parseData(mixed $data)

Parse the given data into a raw array.

viewInstance(string $view, string $path, array $data)

Create a new view instance from the given arguments.

bool
exists(string $view)

Determine if a given view exists.

getEngineFromPath(string $path)

Get the appropriate view engine for the given path.

string
getExtension(string $path)

Get the extension used by the view file.

mixed
share(array|string $key, mixed $value = null)

Add a piece of shared data to the environment.

void
incrementRender()

Increment the rendering counter.

void
decrementRender()

Decrement the rendering counter.

bool
doneRendering()

Check if there are no active render operations.

void
addLocation(string $location)

Add a location to the array of view locations.

$this
addNamespace(string $namespace, string|array $hints)

Add a new namespace to the loader.

$this
prependNamespace(string $namespace, string|array $hints)

Prepend a new namespace to the loader.

$this
replaceNamespace(string $namespace, string|array $hints)

Replace the namespace hints for the given namespace.

void
addExtension(string $extension, string $engine, Closure $resolver = null)

Register a valid view extension and its engine.

void
flushState()

Flush all of the factory state like sections and stacks.

void
flushStateIfDoneRendering()

Flush all of the section contents if done rendering.

array
getExtensions()

Get the extension to engine bindings.

getEngineResolver()

Get the engine resolver instance.

getFinder()

Get the view finder instance.

void
setFinder(ViewFinderInterface $finder)

Set the view finder instance.

void
flushFinderCache()

Flush the cache of views located by the finder.

getDispatcher()

Get the event dispatcher instance.

void
setDispatcher(Dispatcher $events)

Set the event dispatcher instance.

getContainer()

Get the IoC container instance.

void
setContainer(Container $container)

Set the IoC container instance.

mixed
shared(string $key, mixed $default = null)

Get an item from the shared data.

array
getShared()

Get all of the shared data for the environment.

Details

in ManagesComponents at line 44
void startComponent(string $name, array $data = [])

Start a component rendering process.

Parameters

string $name
array $data

Return Value

void

in ManagesComponents at line 60
string renderComponent()

Render the current component.

Return Value

string

in ManagesComponents at line 73
protected array componentData(string $name)

Get the data for the given component.

Parameters

string $name

Return Value

array

in ManagesComponents at line 89
void slot(string $name, string|null $content = null)

Start the slot rendering process.

Parameters

string $name
string|null $content

Return Value

void

in ManagesComponents at line 107
void endSlot()

Save the slot content for rendering.

Return Value

void

in ManagesComponents at line 124
protected int currentComponent()

Get the index for the current component.

Return Value

int

in ManagesEvents at line 18
array creator(array|string $views, Closure|string $callback)

Register a view creator event.

Parameters

array|string $views
Closure|string $callback

Return Value

array

in ManagesEvents at line 35
array composers(array $composers)

Register multiple view composers via an array.

Parameters

array $composers

Return Value

array

in ManagesEvents at line 53
array composer(array|string $views, Closure|string $callback)

Register a view composer event.

Parameters

array|string $views
Closure|string $callback

Return Value

array

in ManagesEvents at line 72
protected Closure|null addViewEvent(string $view, Closure|string $callback, string $prefix = 'composing: ')

Add an event for a given view.

Parameters

string $view
Closure|string $callback
string $prefix

Return Value

Closure|null

in ManagesEvents at line 93
protected Closure addClassEvent(string $view, string $class, string $prefix)

Register a class based view composer.

Parameters

string $view
string $class
string $prefix

Return Value

Closure

in ManagesEvents at line 116
protected Closure buildClassEventCallback(string $class, string $prefix)

Build a class based container callback Closure.

Parameters

string $class
string $prefix

Return Value

Closure

in ManagesEvents at line 137
protected array parseClassEvent(string $class, string $prefix)

Parse a class based composer name.

Parameters

string $class
string $prefix

Return Value

array

in ManagesEvents at line 148
protected string classEventMethodForPrefix(string $prefix)

Determine the class event method based on the given prefix.

Parameters

string $prefix

Return Value

string

in ManagesEvents at line 160
protected void addEventListener(string $name, Closure $callback)

Add a listener to the event dispatcher.

Parameters

string $name
Closure $callback

Return Value

void

in ManagesEvents at line 177
void callComposer(View $view)

Call the composer for a given view.

Parameters

View $view

Return Value

void

in ManagesEvents at line 188
void callCreator(View $view)

Call the creator for a given view.

Parameters

View $view

Return Value

void

in ManagesLayouts at line 38
void startSection(string $section, string|null $content = null)

Start injecting content into a section.

Parameters

string $section
string|null $content

Return Value

void

in ManagesLayouts at line 56
void inject(string $section, string $content)

Inject inline content into a section.

Parameters

string $section
string $content

Return Value

void

in ManagesLayouts at line 66
string yieldSection()

Stop injecting content into a section and return its contents.

Return Value

string

in ManagesLayouts at line 82
string stopSection(bool $overwrite = false)

Stop injecting content into a section.

Parameters

bool $overwrite

Return Value

string

Exceptions

InvalidArgumentException

in ManagesLayouts at line 105
string appendSection()

Stop injecting content into a section and append it.

Return Value

string

Exceptions

InvalidArgumentException

in ManagesLayouts at line 129
protected void extendSection(string $section, string $content)

Append content to a given section.

Parameters

string $section
string $content

Return Value

void

in ManagesLayouts at line 145
string yieldContent(string $section, string $default = '')

Get the string contents of a section.

Parameters

string $section
string $default

Return Value

string

in ManagesLayouts at line 166
static string parentPlaceholder(string $section = '')

Get the parent placeholder for the current request.

Parameters

string $section

Return Value

string

in ManagesLayouts at line 181
bool hasSection(string $name)

Check if section exists.

Parameters

string $name

Return Value

bool

in ManagesLayouts at line 193
mixed getSection(string $name, string $default = null)

Get the contents of a section.

Parameters

string $name
string $default

Return Value

mixed

in ManagesLayouts at line 203
array getSections()

Get the entire array of sections.

Return Value

array

in ManagesLayouts at line 213
void flushSections()

Flush all of the sections.

Return Value

void

in ManagesLoops at line 23
void addLoop(Countable|array $data)

Add new loop to the stack.

Parameters

Countable|array $data

Return Value

void

in ManagesLoops at line 46
void incrementLoopIndices()

Increment the top loop's indices.

Return Value

void

in ManagesLoops at line 64
void popLoop()

Pop a loop from the top of the loop stack.

Return Value

void

in ManagesLoops at line 74
stdClass|null getLastLoop()

Get an instance of the last loop in the stack.

Return Value

stdClass|null

in ManagesLoops at line 86
array getLoopStack()

Get the entire loop stack.

Return Value

array

in ManagesStacks at line 37
void startPush(string $section, string $content = '')

Start injecting content into a push section.

Parameters

string $section
string $content

Return Value

void

in ManagesStacks at line 54
string stopPush()

Stop injecting content into a push section.

Return Value

string

Exceptions

InvalidArgumentException

in ManagesStacks at line 72
protected void extendPush(string $section, string $content)

Append content to a given push section.

Parameters

string $section
string $content

Return Value

void

in ManagesStacks at line 92
void startPrepend(string $section, string $content = '')

Start prepending content into a push section.

Parameters

string $section
string $content

Return Value

void

in ManagesStacks at line 109
string stopPrepend()

Stop prepending content into a push section.

Return Value

string

Exceptions

InvalidArgumentException

in ManagesStacks at line 127
protected void extendPrepend(string $section, string $content)

Prepend content to a given stack.

Parameters

string $section
string $content

Return Value

void

in ManagesStacks at line 147
string yieldPushContent(string $section, string $default = '')

Get the string contents of a push section.

Parameters

string $section
string $default

Return Value

string

in ManagesStacks at line 171
void flushStacks()

Flush all of the stacks.

Return Value

void

void startTranslation(array $replacements = [])

Start a translation block.

Parameters

array $replacements

Return Value

void

string renderTranslation()

Render the current translation.

Return Value

string

at line 91
void __construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)

Create a new view factory instance.

Parameters

EngineResolver $engines
ViewFinderInterface $finder
Dispatcher $events

Return Value

void

at line 108
View file(string $path, array $data = [], array $mergeData = [])

Get the evaluated view contents for the given view.

Parameters

string $path
array $data
array $mergeData

Return Value

View

at line 125
View make(string $view, array $data = [], array $mergeData = [])

Get the evaluated view contents for the given view.

Parameters

string $view
array $data
array $mergeData

Return Value

View

at line 150
string renderWhen(bool $condition, string $view, array $data = [], array $mergeData = [])

Get the rendered content of the view based on a given condition.

Parameters

bool $condition
string $view
array $data
array $mergeData

Return Value

string

at line 168
string renderEach(string $view, array $data, string $iterator, string $empty = 'raw|')

Get the rendered contents of a partial from a loop.

Parameters

string $view
array $data
string $iterator
string $empty

Return Value

string

at line 201
protected string normalizeName(string $name)

Normalize a view name.

Parameters

string $name

Return Value

string

at line 212
protected array parseData(mixed $data)

Parse the given data into a raw array.

Parameters

mixed $data

Return Value

array

at line 225
protected View viewInstance(string $view, string $path, array $data)

Create a new view instance from the given arguments.

Parameters

string $view
string $path
array $data

Return Value

View

at line 236
bool exists(string $view)

Determine if a given view exists.

Parameters

string $view

Return Value

bool

at line 255
EngineInterface getEngineFromPath(string $path)

Get the appropriate view engine for the given path.

Parameters

string $path

Return Value

EngineInterface

Exceptions

InvalidArgumentException

at line 272
protected string getExtension(string $path)

Get the extension used by the view file.

Parameters

string $path

Return Value

string

at line 288
mixed share(array|string $key, mixed $value = null)

Add a piece of shared data to the environment.

Parameters

array|string $key
mixed $value

Return Value

mixed

at line 304
void incrementRender()

Increment the rendering counter.

Return Value

void

at line 314
void decrementRender()

Decrement the rendering counter.

Return Value

void

at line 324
bool doneRendering()

Check if there are no active render operations.

Return Value

bool

at line 335
void addLocation(string $location)

Add a location to the array of view locations.

Parameters

string $location

Return Value

void

at line 347
$this addNamespace(string $namespace, string|array $hints)

Add a new namespace to the loader.

Parameters

string $namespace
string|array $hints

Return Value

$this

at line 361
$this prependNamespace(string $namespace, string|array $hints)

Prepend a new namespace to the loader.

Parameters

string $namespace
string|array $hints

Return Value

$this

at line 375
$this replaceNamespace(string $namespace, string|array $hints)

Replace the namespace hints for the given namespace.

Parameters

string $namespace
string|array $hints

Return Value

$this

at line 390
void addExtension(string $extension, string $engine, Closure $resolver = null)

Register a valid view extension and its engine.

Parameters

string $extension
string $engine
Closure $resolver

Return Value

void

at line 408
void flushState()

Flush all of the factory state like sections and stacks.

Return Value

void

at line 421
void flushStateIfDoneRendering()

Flush all of the section contents if done rendering.

Return Value

void

at line 433
array getExtensions()

Get the extension to engine bindings.

Return Value

array

at line 443
EngineResolver getEngineResolver()

Get the engine resolver instance.

Return Value

EngineResolver

at line 453
ViewFinderInterface getFinder()

Get the view finder instance.

Return Value

ViewFinderInterface

at line 464
void setFinder(ViewFinderInterface $finder)

Set the view finder instance.

Parameters

ViewFinderInterface $finder

Return Value

void

at line 474
void flushFinderCache()

Flush the cache of views located by the finder.

Return Value

void

at line 484
Dispatcher getDispatcher()

Get the event dispatcher instance.

Return Value

Dispatcher

at line 495
void setDispatcher(Dispatcher $events)

Set the event dispatcher instance.

Parameters

Dispatcher $events

Return Value

void

at line 505
Container getContainer()

Get the IoC container instance.

Return Value

Container

at line 516
void setContainer(Container $container)

Set the IoC container instance.

Parameters

Container $container

Return Value

void

at line 528
mixed shared(string $key, mixed $default = null)

Get an item from the shared data.

Parameters

string $key
mixed $default

Return Value

mixed

at line 538
array getShared()

Get all of the shared data for the environment.

Return Value

array