1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<?php
/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License)
*/
namespace Slim\Interfaces;
use InvalidArgumentException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
interface RouteInterface
{
/**
* Retrieve a specific route argument
*
* @param string $name
* @param string|null $default
*
* @return string|null
*/
public function getArgument($name, $default = null);
/**
* Get route arguments
*
* @return string[]
*/
public function getArguments();
/**
* Get route name
*
* @return null|string
*/
public function getName();
/**
* Get route pattern
*
* @return string
*/
public function getPattern();
/**
* Set a route argument
*
* @param string $name
* @param string $value
*
* @return RouteInterface
*/
public function setArgument($name, $value);
/**
* Replace route arguments
*
* @param string[] $arguments
*
* @return RouteInterface
*/
public function setArguments(array $arguments);
/**
* Set output buffering mode
*
* One of: false, 'prepend' or 'append'
*
* @param boolean|string $mode
*
* @throws InvalidArgumentException If an unknown buffering mode is specified
*/
public function setOutputBuffering($mode);
/**
* Set route name
*
* @param string $name
*
* @return RouteInterface
*
* @throws InvalidArgumentException if the route name is not a string
*/
public function setName($name);
/**
* Add middleware
*
* This method prepends new middleware to the route's middleware stack.
*
* @param callable|string $callable The callback routine
*
* @return RouteInterface
*/
public function add($callable);
/**
* Prepare the route for use
*
* @param ServerRequestInterface $request
* @param array $arguments
*/
public function prepare(ServerRequestInterface $request, array $arguments);
/**
* Run route
*
* This method traverses the middleware stack, including the route's callable
* and captures the resultant HTTP response object. It then sends the response
* back to the Application.
*
* @param ServerRequestInterface $request
* @param ResponseInterface $response
*
* @return ResponseInterface
*/
public function run(ServerRequestInterface $request, ResponseInterface $response);
/**
* Dispatch route callable against current Request and Response objects
*
* This method invokes the route object's callable. If middleware is
* registered for the route, each callable middleware is invoked in
* the order specified.
*
* @param ServerRequestInterface $request The current Request object
* @param ResponseInterface $response The current Response object
*
* @return ResponseInterface
*/
public function __invoke(ServerRequestInterface $request, ResponseInterface $response);
}
|