![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-mvc/src/Controller/ |
<?php namespace Laminas\Mvc\Controller; use Laminas\Mvc\Exception\DomainException; use Laminas\Mvc\Exception; use Laminas\Mvc\MvcEvent; use Laminas\View\Model\ViewModel; /** * Basic action controller */ abstract class AbstractActionController extends AbstractController { /** * {@inheritDoc} */ protected $eventIdentifier = self::class; /** * Default action if none provided * * @return ViewModel */ public function indexAction() { return new ViewModel([ 'content' => 'Placeholder page' ]); } /** * Action called if matched action does not exist * * @return ViewModel */ public function notFoundAction() { $event = $this->getEvent(); $routeMatch = $event->getRouteMatch(); $routeMatch->setParam('action', 'not-found'); $helper = $this->plugin('createHttpNotFoundModel'); return $helper($event->getResponse()); } /** * Execute the request * * @param MvcEvent $e * @return mixed * @throws Exception\DomainException */ public function onDispatch(MvcEvent $e) { $routeMatch = $e->getRouteMatch(); if (! $routeMatch) { /** * @todo Determine requirements for when route match is missing. * Potentially allow pulling directly from request metadata? */ throw new DomainException('Missing route matches; unsure how to retrieve action'); } $action = $routeMatch->getParam('action', 'not-found'); $method = static::getMethodFromAction($action); if (! method_exists($this, $method)) { $method = 'notFoundAction'; } $actionResponse = $this->$method(); $e->setResult($actionResponse); return $actionResponse; } }