Presenter
abstract class Presenter extends Control implements IPresenter
Presenter component represents a webpage instance. It converts Request to Response.
Constants
InvalidLinkSilent |
bad link handling Presenter::$invalidLinkMode |
InvalidLinkWarning |
bad link handling Presenter::$invalidLinkMode |
InvalidLinkException |
bad link handling Presenter::$invalidLinkMode |
InvalidLinkTextual |
bad link handling Presenter::$invalidLinkMode |
internal PresenterKey |
|
internal SignalKey |
|
internal ActionKey |
|
internal FlashKey |
|
internal DefaultAction |
|
INVALID_LINK_SILENT |
|
INVALID_LINK_WARNING |
|
INVALID_LINK_EXCEPTION |
|
INVALID_LINK_TEXTUAL |
|
PRESENTER_KEY |
|
SIGNAL_KEY |
|
ACTION_KEY |
|
FLASH_KEY |
|
DEFAULT_ACTION |
|
Properties
int | $invalidLinkMode | ||
$onStartup | |||
$onRender | |||
$onShutdown | |||
bool | $autoCanonicalize | ||
bool | $absoluteUrls | ||
string[] | $allowedMethods | ||
string | $view | ||
string|bool | $layout | ||
Request read-only | $request | ||
string read-only | $action | ||
stdClass read-only | $payload | ||
Container read-only | $context | ||
Session read-only | $session | ||
User read-only | $user |
Methods
No description
No description
Returns self.
Returns the presenter where this component belongs to.
Returns a name that uniquely identifies component.
No description
No description
Common render method.
Common render method.
This method will be called when CSRF is detected.
No description
No description
Returns pair signal receiver and name.
Checks if the signal receiver is the given one.
Returns current action name.
Changes current action.
Returns current view.
Returns current layout name.
No description
Finds template file name.
Finds layout template file name.
Formats layout template file names.
Formats view template file names.
Formats action method name.
Formats render view method name.
No description
No description
No description
Is AJAX request?
Sends AJAX payload to the output.
Sends JSON data to the output.
Correctly terminates presenter.
Redirect to another URL and ends presenter execution.
Returns the last created Request.
Returns the last created Request flag.
Conditional redirect to canonicalized URI.
Attempts to cache the sent entity by its last modification date.
Request/URL factory.
Parse destination in format "[//] [[[module:]presenter:]action | signal! | this] [?query] [#fragment]"
Converts list of arguments to named parameters.
Invalid link handler. Descendant can override this method to change default behaviour.
Stores current request to session.
Restores request from session.
Returns array of persistent components.
Saves state information for all subcomponents to $this->globalState.
Saves state information for next request.
Permanently saves state information for all subcomponents to $this->globalState.
Pops parameters for specified component.
Checks if a flash session namespace exists.
Returns session namespace provided to pass temporary data between redirects.
No description
No description
No description
No description
No description
No description
Details
at line 153
__construct()
No description
at line 159
final Request|null
getRequest()
No description
at line 168
final Presenter|null
getPresenter()
Returns self.
at line 174
final Presenter|null
getPresenterIfExists()
Returns the presenter where this component belongs to.
at line 181
final bool
hasPresenter()
deprecated
deprecated
No description
at line 190
string
getUniqueId()
Returns a name that uniquely identifies component.
at line 196
bool
isModuleCurrent(string $module)
No description
at line 295
protected void
startup()
No description
at line 305
protected void
beforeRender()
Common render method.
at line 314
protected void
afterRender()
Common render method.
at line 322
protected void
shutdown(Response $response)
No description
at line 330
void
detectedCsrf()
This method will be called when CSRF is detected.
at line 340
protected void
checkHttpMethod()
No description
at line 357
void
processSignal()
No description
at line 381
final array|null
getSignal()
Returns pair signal receiver and name.
at line 391
final bool
isSignalReceiver(Component|string $component, $signal = null)
Checks if the signal receiver is the given one.
at line 420
final string
getAction(bool $fullyQualified = false)
Returns current action name.
at line 431
void
changeAction(string $action)
Changes current action.
at line 440
final string
getView()
Returns current view.
at line 450
Presenter
setView(string $view)
Changes current view. Any name is allowed.
at line 461
final string|bool
getLayout()
Returns current layout name.
at line 472
Presenter
setLayout(string|bool $layout)
Changes or disables layout.
at line 483
void
sendTemplate(Template|null $template = null)
No description
at line 496
string
findTemplateFile()
Finds template file name.
at line 514
string|null
findLayoutTemplateFile()
internal |
Finds layout template file name.
at line 539
array
formatLayoutTemplateFiles()
Formats layout template file names.
at line 565
array
formatTemplateFiles()
Formats view template file names.
at line 580
static string
formatActionMethod(string $action)
Formats action method name.
at line 589
static string
formatRenderMethod(string $view)
Formats render view method name.
at line 598
protected Template
createTemplate()
No description
at line 607
string|null
formatTemplateClass()
No description
at line 618
final stdClass
getPayload()
No description
at line 627
bool
isAjax()
Is AJAX request?
at line 642
void
sendPayload()
Sends AJAX payload to the output.
at line 654
void
sendJson(mixed $data)
Sends JSON data to the output.
at line 668
void
sendResponse(Response $response)
Sends response and terminates presenter.
at line 680
void
terminate()
Correctly terminates presenter.
at line 693
void
forward(string|Request $destination, array|mixed $args = [])
Forward to another presenter or action.
at line 712
void
redirectUrl(string $url, int|null $httpCode = null)
Redirect to another URL and ends presenter execution.
at line 732
final Request|null
getLastCreatedRequest()
internal |
Returns the last created Request.
at line 742
final bool
getLastCreatedRequestFlag(string $flag)
internal |
Returns the last created Request flag.
at line 753
void
canonicalize(string|null $destination = null, mixed ...$args)
Conditional redirect to canonicalized URI.
at line 791
void
lastModified(string|int|DateTimeInterface $lastModified, string|null $etag = null, string|null $expire = null)
Attempts to cache the sent entity by its last modification date.
at line 812
protected string|null
createRequest(Component $component, string $destination, array $args, string $mode)
internal |
Request/URL factory.
at line 1006
static array
parseDestination(string $destination)
internal |
Parse destination in format "[//] [[[module:]presenter:]action | signal! | this] [?query] [#fragment]"
at line 1030
protected string
requestToUrl(Request $request, bool|null $relative = null)
internal |
Converts Request to URL.
at line 1066
static void
argsToParams(string $class, string $method, array $args, array $supplemental = [], array|null $missing = null)
internal |
Converts list of arguments to named parameters.
at line 1135
protected string
handleInvalidLink(InvalidLinkException $e)
Invalid link handler. Descendant can override this method to change default behaviour.
at line 1156
string
storeRequest(string $expiration = '+ 10 minutes')
Stores current request to session.
at line 1172
void
restoreRequest(string $key)
Restores request from session.
at line 1200
static array
getPersistentComponents()
Returns array of persistent components.
This default implementation detects components by class-level annotation @persistent(cmp1, cmp2).
at line 1215
protected array
getGlobalState(string|null $forClass = null)
Saves state information for all subcomponents to $this->globalState.
at line 1290
void
saveState(array $params, ComponentReflection|null $reflection = null)
Saves state information for next request.
at line 1299
protected void
saveGlobalState()
Permanently saves state information for all subcomponents to $this->globalState.
at line 1374
final array
popGlobalParameters(string $id)
internal |
Pops parameters for specified component.
at line 1397
bool
hasFlashSession()
Checks if a flash session namespace exists.
at line 1408
SessionSection
getFlashSession()
Returns session namespace provided to pass temporary data between redirects.
at line 1422
final
injectPrimary(Container|null $context, IPresenterFactory|null $presenterFactory, Router|null $router, IRequest $httpRequest, IResponse $httpResponse, Session|null $session = null, User|null $user = null, TemplateFactory|null $templateFactory = null)
No description
at line 1451
Container
getContext()
deprecated
deprecated
Gets the context.
at line 1462
final IRequest
getHttpRequest()
No description
at line 1468
final IResponse
getHttpResponse()
No description
at line 1477
final Session|SessionSection
getSession(string|null $namespace = null)
No description
at line 1489
final User
getUser()
No description
at line 1499
final TemplateFactory
getTemplateFactory()
No description