本文整理汇总了PHP中Nette\Callback::invokeArgs方法的典型用法代码示例。如果您正苦于以下问题:PHP Callback::invokeArgs方法的具体用法?PHP Callback::invokeArgs怎么用?PHP Callback::invokeArgs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Callback
的用法示例。
在下文中一共展示了Callback::invokeArgs方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: attached
public function attached($presenter)
{
parent::attached($presenter);
$this->column = $this->lookup('Brabijan\\Datagrid\\Renderer')->getColumn($this->columnId);
if ($this->templateRowCallback) {
$this->templateRowCallback->invokeArgs(array($this));
}
}
示例2: run
/**
* @return Nette\Application\IResponse
*/
public function run(Application\Request $request)
{
$this->request = $request;
$httpRequest = $this->context->getByType('Nette\\Http\\IRequest');
if (!$httpRequest->isAjax() && ($request->isMethod('get') || $request->isMethod('head'))) {
$refUrl = clone $httpRequest->getUrl();
$url = $this->context->getService('router')->constructUrl($request, $refUrl->setPath($refUrl->getScriptPath()));
if ($url !== NULL && !$httpRequest->getUrl()->isEqual($url)) {
return new Responses\RedirectResponse($url, Http\IResponse::S301_MOVED_PERMANENTLY);
}
}
$params = $request->getParameters();
if (!isset($params['callback'])) {
throw new Application\BadRequestException("Parameter callback is missing.");
}
$params['presenter'] = $this;
$callback = new Nette\Callback($params['callback']);
$response = $callback->invokeArgs(Application\UI\PresenterComponentReflection::combineArgs($callback->toReflection(), $params));
if (is_string($response)) {
$response = array($response, array());
}
if (is_array($response)) {
if ($response[0] instanceof \SplFileInfo) {
$response = $this->createTemplate('Nette\\Templating\\FileTemplate')->setParameters($response[1])->setFile($response[0]);
} else {
$response = $this->createTemplate('Nette\\Templating\\Template')->setParameters($response[1])->setSource($response[0]);
}
}
if ($response instanceof Nette\Templating\ITemplate) {
return new Responses\TextResponse($response);
} else {
return $response;
}
}
示例3: render
public function render()
{
if ($this->customTemplate === NULL) {
$this->template->setFile(__DIR__ . '/control.latte');
} else {
$this->template->setFile($this->customTemplate);
$this->template->extend = __DIR__ . '/control.latte';
}
$this->template->rows = array_keys($this->getData());
if ($this->isPaginatorEnabled()) {
$this->template->paginationPosition = $this->paginationPositions;
$this->template->paginator = $this->paginator;
} else {
$this->template->paginationPosition = Renderer::PAGINATION_NONE;
}
if ($this->templateHelpersCallback) {
$this->templateHelpersCallback->invokeArgs(array($this->template));
}
$this->template->showFilter = ($this->filterManualRender == FALSE and $this->filterFormFactory !== NULL);
$this->template->showHeaders = !$this->hideDatagridHeaders;
$this->template->render();
}
示例4: callMethod
/**
* Calls method using autowiring.
* @param mixed class, object, function, callable
* @param array arguments
* @return mixed
*/
public function callMethod($function, array $args = array())
{
$callback = new Nette\Callback($function);
return $callback->invokeArgs(Helpers::autowireArguments($callback->toReflection(), $args, $this));
}
示例5: expandEventCallback
/**
* Expands the event to the callback.
*
* @param \Nette\Callback $callback Original callback
* @param \ApiGen\Event $event Event
* @return mixed
*/
public static function expandEventCallback(Callback $callback, Event $event)
{
$payload = $event->getPayload();
$arguments = is_array($payload) ? $payload : (null === $payload ? array() : array($payload));
$arguments[] = $event;
return $callback->invokeArgs($arguments);
}