관리-도구
편집 파일: Event.tar
ResponseEvent.php 0000604 00000002251 15224665170 0010061 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows to filter a Response object. * * You can call getResponse() to retrieve the current response. With * setResponse() you can set a new response that will be returned to the * browser. * * @author Bernhard Schussek <bschussek@gmail.com> */ final class ResponseEvent extends KernelEvent { private $response; public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, Response $response) { parent::__construct($kernel, $request, $requestType); $this->setResponse($response); } public function getResponse(): Response { return $this->response; } public function setResponse(Response $response): void { $this->response = $response; } } KernelEvent.php 0000604 00000004220 15224665170 0007501 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\EventDispatcher\Event; /** * Base class for events thrown in the HttpKernel component. * * @author Bernhard Schussek <bschussek@gmail.com> */ class KernelEvent extends Event { /** * The kernel in which this event was thrown. * * @var HttpKernelInterface */ private $kernel; /** * The request the kernel is currently processing. * * @var Request */ private $request; /** * The request type the kernel is currently processing. One of * HttpKernelInterface::MASTER_REQUEST and HttpKernelInterface::SUB_REQUEST. * * @var int */ private $requestType; public function __construct(HttpKernelInterface $kernel, Request $request, $requestType) { $this->kernel = $kernel; $this->request = $request; $this->requestType = $requestType; } /** * Returns the kernel in which this event was thrown. * * @return HttpKernelInterface */ public function getKernel() { return $this->kernel; } /** * Returns the request the kernel is currently processing. * * @return Request */ public function getRequest() { return $this->request; } /** * Returns the request type the kernel is currently processing. * * @return int One of HttpKernelInterface::MASTER_REQUEST and * HttpKernelInterface::SUB_REQUEST */ public function getRequestType() { return $this->requestType; } /** * Checks if this is a master request. * * @return bool True if the request is a master request */ public function isMasterRequest() { return HttpKernelInterface::MASTER_REQUEST === $this->requestType; } } FinishRequestEvent.php 0000604 00000000677 15224665170 0011066 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; /** * Triggered whenever a request is fully processed. * * @author Benjamin Eberlei <kontakt@beberlei.de> */ class FinishRequestEvent extends KernelEvent { } ViewEvent.php 0000604 00000003056 15224665170 0007201 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows to create a response for the return value of a controller. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * @author Bernhard Schussek <bschussek@gmail.com> */ final class ViewEvent extends RequestEvent { /** * The return value of the controller. * * @var mixed */ private $controllerResult; public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, $controllerResult) { parent::__construct($kernel, $request, $requestType); $this->controllerResult = $controllerResult; } /** * Returns the return value of the controller. * * @return mixed The controller return value */ public function getControllerResult() { return $this->controllerResult; } /** * Assigns the return value of the controller. * * @param mixed $controllerResult The controller return value */ public function setControllerResult($controllerResult): void { $this->controllerResult = $controllerResult; } } RequestEvent.php 0000604 00000002341 15224665170 0007713 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Response; /** * Allows to create a response for a request. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * @author Bernhard Schussek <bschussek@gmail.com> */ class RequestEvent extends KernelEvent { private $response; /** * Returns the response object. * * @return Response|null */ public function getResponse() { return $this->response; } /** * Sets a response and stops event propagation. */ public function setResponse(Response $response) { $this->response = $response; $this->stopPropagation(); } /** * Returns whether a response was set. * * @return bool Whether a response was set */ public function hasResponse() { return null !== $this->response; } } ControllerArgumentsEvent.php 0000604 00000003057 15224665170 0012301 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows filtering of controller arguments. * * You can call getController() to retrieve the controller and getArguments * to retrieve the current arguments. With setArguments() you can replace * arguments that are used to call the controller. * * Arguments set in the event must be compatible with the signature of the * controller. * * @author Christophe Coevoet <stof@notk.org> */ final class ControllerArgumentsEvent extends KernelEvent { private $controller; private $arguments; public function __construct(HttpKernelInterface $kernel, callable $controller, array $arguments, Request $request, ?int $requestType) { parent::__construct($kernel, $request, $requestType); $this->controller = $controller; $this->arguments = $arguments; } public function getController(): callable { return $this->controller; } public function setController(callable $controller) { $this->controller = $controller; } public function getArguments(): array { return $this->arguments; } public function setArguments(array $arguments) { $this->arguments = $arguments; } } ExceptionEvent.php 0000604 00000003620 15224665170 0010222 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows to create a response for a thrown exception. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * You can also call setThrowable() to replace the thrown exception. This * exception will be thrown if no response is set during processing of this * event. * * @author Bernhard Schussek <bschussek@gmail.com> */ final class ExceptionEvent extends RequestEvent { private $throwable; /** * @var bool */ private $allowCustomResponseCode = false; public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, \Throwable $e) { parent::__construct($kernel, $request, $requestType); $this->setThrowable($e); } public function getThrowable(): \Throwable { return $this->throwable; } /** * Replaces the thrown exception. * * This exception will be thrown if no response is set in the event. */ public function setThrowable(\Throwable $exception): void { $this->throwable = $exception; } /** * Mark the event as allowing a custom response code. */ public function allowCustomResponseCode(): void { $this->allowCustomResponseCode = true; } /** * Returns true if the event allows a custom response code. */ public function isAllowingCustomResponseCode(): bool { return $this->allowCustomResponseCode; } } TerminateEvent.php 0000604 00000002105 15224665170 0010211 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows to execute logic after a response was sent. * * Since it's only triggered on main requests, the `getRequestType()` method * will always return the value of `HttpKernelInterface::MAIN_REQUEST`. * * @author Jordi Boggiano <j.boggiano@seld.be> */ final class TerminateEvent extends KernelEvent { private $response; public function __construct(HttpKernelInterface $kernel, Request $request, Response $response) { parent::__construct($kernel, $request, HttpKernelInterface::MAIN_REQUEST); $this->response = $response; } public function getResponse(): Response { return $this->response; } } ControllerEvent.php 0000604 00000002320 15224665170 0010403 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Allows filtering of a controller callable. * * You can call getController() to retrieve the current controller. With * setController() you can set a new controller that is used in the processing * of the request. * * Controllers should be callables. * * @author Bernhard Schussek <bschussek@gmail.com> */ final class ControllerEvent extends KernelEvent { private $controller; public function __construct(HttpKernelInterface $kernel, callable $controller, Request $request, ?int $requestType) { parent::__construct($kernel, $request, $requestType); $this->setController($controller); } public function getController(): callable { return $this->controller; } public function setController(callable $controller): void { $this->controller = $controller; } } GetResponseEvent.php 0000604 00000002520 15224676361 0010524 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpFoundation\Response; /** * Allows to create a response for a request. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * @author Bernhard Schussek <bschussek@gmail.com> */ class GetResponseEvent extends KernelEvent { /** * The response object. * * @var Response */ private $response; /** * Returns the response object. * * @return Response */ public function getResponse() { return $this->response; } /** * Sets a response and stops event propagation. * * @param Response $response */ public function setResponse(Response $response) { $this->response = $response; $this->stopPropagation(); } /** * Returns whether a response was set. * * @return bool Whether a response was set */ public function hasResponse() { return null !== $this->response; } } FilterControllerEvent.php 0000604 00000002630 15224676361 0011561 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; /** * Allows filtering of a controller callable. * * You can call getController() to retrieve the current controller. With * setController() you can set a new controller that is used in the processing * of the request. * * Controllers should be callables. * * @author Bernhard Schussek <bschussek@gmail.com> */ class FilterControllerEvent extends KernelEvent { /** * The current controller. */ private $controller; public function __construct(HttpKernelInterface $kernel, callable $controller, Request $request, $requestType) { parent::__construct($kernel, $request, $requestType); $this->setController($controller); } /** * Returns the current controller. * * @return callable */ public function getController() { return $this->controller; } /** * Sets a new controller. * * @param callable $controller */ public function setController(callable $controller) { $this->controller = $controller; } } GetResponseForControllerResultEvent.php 0000604 00000003074 15224676361 0014443 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; /** * Allows to create a response for the return value of a controller. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * @author Bernhard Schussek <bschussek@gmail.com> */ class GetResponseForControllerResultEvent extends GetResponseEvent { /** * The return value of the controller. * * @var mixed */ private $controllerResult; public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, $controllerResult) { parent::__construct($kernel, $request, $requestType); $this->controllerResult = $controllerResult; } /** * Returns the return value of the controller. * * @return mixed The controller return value */ public function getControllerResult() { return $this->controllerResult; } /** * Assigns the return value of the controller. * * @param mixed $controllerResult The controller return value */ public function setControllerResult($controllerResult) { $this->controllerResult = $controllerResult; } } GetResponseForExceptionEvent.php 0000604 00000004213 15224676361 0013053 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; /** * Allows to create a response for a thrown exception. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * You can also call setException() to replace the thrown exception. This * exception will be thrown if no response is set during processing of this * event. * * @author Bernhard Schussek <bschussek@gmail.com> */ class GetResponseForExceptionEvent extends GetResponseEvent { /** * The exception object. * * @var \Exception */ private $exception; /** * @var bool */ private $allowCustomResponseCode = false; public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, \Exception $e) { parent::__construct($kernel, $request, $requestType); $this->setException($e); } /** * Returns the thrown exception. * * @return \Exception The thrown exception */ public function getException() { return $this->exception; } /** * Replaces the thrown exception. * * This exception will be thrown if no response is set in the event. * * @param \Exception $exception The thrown exception */ public function setException(\Exception $exception) { $this->exception = $exception; } /** * Mark the event as allowing a custom response code. */ public function allowCustomResponseCode() { $this->allowCustomResponseCode = true; } /** * Returns true if the event allows a custom response code. * * @return bool */ public function isAllowingCustomResponseCode() { return $this->allowCustomResponseCode; } } FilterResponseEvent.php 0000604 00000002633 15224676361 0011237 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; /** * Allows to filter a Response object. * * You can call getResponse() to retrieve the current response. With * setResponse() you can set a new response that will be returned to the * browser. * * @author Bernhard Schussek <bschussek@gmail.com> */ class FilterResponseEvent extends KernelEvent { /** * The current response object. * * @var Response */ private $response; public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, Response $response) { parent::__construct($kernel, $request, $requestType); $this->setResponse($response); } /** * Returns the current response object. * * @return Response */ public function getResponse() { return $this->response; } /** * Sets a new response object. * * @param Response $response */ public function setResponse(Response $response) { $this->response = $response; } } FilterControllerArgumentsEvent.php 0000604 00000002601 15224676361 0013445 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; /** * Allows filtering of controller arguments. * * You can call getController() to retrieve the controller and getArguments * to retrieve the current arguments. With setArguments() you can replace * arguments that are used to call the controller. * * Arguments set in the event must be compatible with the signature of the * controller. * * @author Christophe Coevoet <stof@notk.org> */ class FilterControllerArgumentsEvent extends FilterControllerEvent { private $arguments; public function __construct(HttpKernelInterface $kernel, callable $controller, array $arguments, Request $request, $requestType) { parent::__construct($kernel, $controller, $request, $requestType); $this->arguments = $arguments; } /** * @return array */ public function getArguments() { return $this->arguments; } /** * @param array $arguments */ public function setArguments(array $arguments) { $this->arguments = $arguments; } } PostResponseEvent.php 0000604 00000002252 15224676361 0010734 0 ustar 00 <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Event; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; /** * Allows to execute logic after a response was sent. * * Since it's only triggered on master requests, the `getRequestType()` method * will always return the value of `HttpKernelInterface::MASTER_REQUEST`. * * @author Jordi Boggiano <j.boggiano@seld.be> */ class PostResponseEvent extends KernelEvent { private $response; public function __construct(HttpKernelInterface $kernel, Request $request, Response $response) { parent::__construct($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->response = $response; } /** * Returns the response for which this event was thrown. * * @return Response */ public function getResponse() { return $this->response; } }