Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 34 additions & 31 deletions Slim/App.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
* @copyright Copyright (c) 2011-2018 Josh Lockhart
* @license https://github.com/slimphp/Slim/blob/4.x/LICENSE.md (MIT License)
*/

declare(strict_types=1);

namespace Slim;

use Psr\Container\ContainerInterface;
Expand Down Expand Up @@ -50,12 +53,12 @@ class App
private $container;

/**
* @var \Slim\Interfaces\CallableResolverInterface
* @var CallableResolverInterface
*/
protected $callableResolver;

/**
* @var \Slim\Interfaces\RouterInterface
* @var RouterInterface
*/
protected $router;

Expand Down Expand Up @@ -130,7 +133,7 @@ public function add($callable)
* @param string $key
* @return bool
*/
public function hasSetting($key)
public function hasSetting(string $key): bool
{
return isset($this->settings[$key]);
}
Expand All @@ -140,7 +143,7 @@ public function hasSetting($key)
*
* @return array
*/
public function getSettings()
public function getSettings(): array
{
return $this->settings;
}
Expand All @@ -152,7 +155,7 @@ public function getSettings()
* @param mixed $defaultValue
* @return mixed
*/
public function getSetting($key, $defaultValue = null)
public function getSetting(string $key, $defaultValue = null)
{
return $this->hasSetting($key) ? $this->settings[$key] : $defaultValue;
}
Expand All @@ -173,7 +176,7 @@ public function addSettings(array $settings)
* @param string $key
* @param mixed $value
*/
public function addSetting($key, $value)
public function addSetting(string $key, $value)
{
$this->settings[$key] = $value;
}
Expand All @@ -195,9 +198,9 @@ public function setCallableResolver(CallableResolverInterface $resolver)
/**
* Get callable resolver
*
* @return CallableResolver|null
* @return CallableResolverInterface
*/
public function getCallableResolver()
public function getCallableResolver(): CallableResolverInterface
{
if (! $this->callableResolver instanceof CallableResolverInterface) {
$this->callableResolver = new CallableResolver($this->container);
Expand All @@ -221,7 +224,7 @@ public function setRouter(RouterInterface $router)
*
* @return RouterInterface
*/
public function getRouter()
public function getRouter(): RouterInterface
{
if (! $this->router instanceof RouterInterface) {
$router = new Router();
Expand All @@ -248,9 +251,9 @@ public function getRouter()
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function get($pattern, $callable)
public function get(string $pattern, $callable): RouteInterface
{
return $this->map(['GET'], $pattern, $callable);
}
Expand All @@ -261,9 +264,9 @@ public function get($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function post($pattern, $callable)
public function post(string $pattern, $callable): RouteInterface
{
return $this->map(['POST'], $pattern, $callable);
}
Expand All @@ -274,9 +277,9 @@ public function post($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function put($pattern, $callable)
public function put(string $pattern, $callable): RouteInterface
{
return $this->map(['PUT'], $pattern, $callable);
}
Expand All @@ -287,9 +290,9 @@ public function put($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function patch($pattern, $callable)
public function patch(string $pattern, $callable): RouteInterface
{
return $this->map(['PATCH'], $pattern, $callable);
}
Expand All @@ -300,9 +303,9 @@ public function patch($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function delete($pattern, $callable)
public function delete(string $pattern, $callable): RouteInterface
{
return $this->map(['DELETE'], $pattern, $callable);
}
Expand All @@ -313,9 +316,9 @@ public function delete($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function options($pattern, $callable)
public function options(string $pattern, $callable): RouteInterface
{
return $this->map(['OPTIONS'], $pattern, $callable);
}
Expand All @@ -326,9 +329,9 @@ public function options($pattern, $callable)
* @param string $pattern The route URI pattern
* @param callable|string $callable The route callback routine
*
* @return \Slim\Interfaces\RouteInterface
* @return RouteInterface
*/
public function any($pattern, $callable)
public function any(string $pattern, $callable): RouteInterface
{
return $this->map(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], $pattern, $callable);
}
Expand All @@ -342,7 +345,7 @@ public function any($pattern, $callable)
*
* @return RouteInterface
*/
public function map(array $methods, $pattern, $callable)
public function map(array $methods, string $pattern, $callable): RouteInterface
{
// Bind route callable to container, if present
if ($this->container instanceof ContainerInterface && $callable instanceof \Closure) {
Expand All @@ -364,7 +367,7 @@ public function map(array $methods, $pattern, $callable)
*
* @return RouteInterface
*/
public function redirect($from, $to, $status = 302)
public function redirect(string $from, $to, int $status = 302): RouteInterface
{
$handler = function ($request, ResponseInterface $response) use ($to, $status) {
return $response->withHeader('Location', (string)$to)->withStatus($status);
Expand All @@ -385,7 +388,7 @@ public function redirect($from, $to, $status = 302)
*
* @return RouteGroupInterface
*/
public function group($pattern, $callable)
public function group(string $pattern, $callable): RouteGroupInterface
{
/** @var RouteGroup $group */
$router = $this->getRouter();
Expand All @@ -412,7 +415,7 @@ public function group($pattern, $callable)
* @param RequestInterface|null $request
* @return ResponseInterface
*/
public function run(RequestInterface $request = null)
public function run(RequestInterface $request = null): ResponseInterface
{
// create request
if ($request === null) {
Expand All @@ -438,7 +441,7 @@ public function run(RequestInterface $request = null)
* @param ResponseInterface $response
* @return ResponseInterface
*/
public function respond(ResponseInterface $response)
public function respond(ResponseInterface $response): ResponseInterface
{
// Send response
if (!headers_sent()) {
Expand Down Expand Up @@ -515,7 +518,7 @@ public function respond(ResponseInterface $response)
* @throws HttpNotFoundException
* @throws HttpMethodNotAllowedException
*/
public function __invoke(ServerRequestInterface $request, ResponseInterface $response)
public function __invoke(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
/**
* @var RoutingResults $routingResults
Expand All @@ -541,7 +544,7 @@ public function __invoke(ServerRequestInterface $request, ResponseInterface $res
*
* @throws \RuntimeException
*/
protected function finalize(ResponseInterface $response)
protected function finalize(ResponseInterface $response): ResponseInterface
{
if ($this->isEmptyResponse($response)) {
return $response->withoutHeader('Content-Type')->withoutHeader('Content-Length');
Expand All @@ -559,7 +562,7 @@ protected function finalize(ResponseInterface $response)
* @param ResponseInterface $response
* @return bool
*/
protected function isEmptyResponse(ResponseInterface $response)
protected function isEmptyResponse(ResponseInterface $response): bool
{
if (method_exists($response, 'isEmpty')) {
return $response->isEmpty();
Expand Down
7 changes: 5 additions & 2 deletions Slim/CallableResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@
* @copyright Copyright (c) 2011-2018 Josh Lockhart
* @license https://github.com/slimphp/Slim/blob/4.x/LICENSE.md (MIT License)
*/

declare(strict_types=1);

namespace Slim;

use RuntimeException;
use Psr\Container\ContainerInterface;
use RuntimeException;
use Slim\Interfaces\CallableResolverInterface;

/**
Expand Down Expand Up @@ -44,7 +47,7 @@ public function __construct(ContainerInterface $container = null)
* @throws RuntimeException if the callable does not exist
* @throws RuntimeException if the callable is not resolvable
*/
public function resolve($toResolve)
public function resolve($toResolve): callable
{
$resolved = $toResolve;

Expand Down
2 changes: 2 additions & 0 deletions Slim/DeferredCallable.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
* @license https://github.com/slimphp/Slim/blob/4.x/LICENSE.md (MIT License)
*/

declare(strict_types=1);

namespace Slim;

use Slim\Interfaces\CallableResolverInterface;
Expand Down
15 changes: 9 additions & 6 deletions Slim/Dispatcher.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
* @copyright Copyright (c) 2011-2018 Josh Lockhart
* @license https://github.com/slimphp/Slim/blob/4.x/LICENSE.md (MIT License)
*/

declare(strict_types=1);

namespace Slim;

use FastRoute\Dispatcher\GroupCountBased;
Expand All @@ -32,7 +35,7 @@ class Dispatcher extends GroupCountBased
* @param string $uri
* @return RoutingResults
*/
public function dispatch($httpMethod, $uri)
public function dispatch($httpMethod, $uri): RoutingResults
{
$this->httpMethod = $httpMethod;
$this->uri = $uri;
Expand Down Expand Up @@ -78,12 +81,12 @@ public function dispatch($httpMethod, $uri)
}

/**
* @param $status
* @param null $handler
* @param int $status
* @param string|null $handler
* @param array $arguments
* @return RoutingResults
*/
protected function routingResults($status, $handler = null, $arguments = [])
protected function routingResults(int $status, string $handler = null, array $arguments = []): RoutingResults
{
return new RoutingResults($this, $this->httpMethod, $this->uri, $status, $handler, $arguments);
}
Expand All @@ -92,7 +95,7 @@ protected function routingResults($status, $handler = null, $arguments = [])
* @param array $result
* @return RoutingResults
*/
protected function routingResultsFromVariableRouteResults($result)
protected function routingResultsFromVariableRouteResults(array $result): RoutingResults
{
if ($result[0] === self::FOUND) {
return $this->routingResults(self::FOUND, $result[1], $result[2]);
Expand All @@ -105,7 +108,7 @@ protected function routingResultsFromVariableRouteResults($result)
* @param string $uri
* @return array
*/
public function getAllowedMethods($httpMethod, $uri)
public function getAllowedMethods(string $httpMethod, string $uri): array
{
if (isset($this->allowedMethods[$uri])) {
return $this->allowedMethods[$uri];
Expand Down
8 changes: 5 additions & 3 deletions Slim/Error/AbstractErrorRenderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
* @copyright Copyright (c) 2011-2018 Josh Lockhart
* @license https://github.com/slimphp/Slim/blob/4.x/LICENSE.md (MIT License)
*/

declare(strict_types=1);

namespace Slim\Error;

use Slim\Http\Body;
use Slim\Interfaces\ErrorRendererInterface;
use Exception;
use Throwable;

/**
Expand All @@ -22,11 +24,11 @@
abstract class AbstractErrorRenderer implements ErrorRendererInterface
{
/**
* @param Exception|Throwable $exception
* @param Throwable $exception
* @param bool $displayErrorDetails
* @return Body
*/
public function renderWithBody($exception, $displayErrorDetails)
public function renderWithBody(Throwable $exception, bool $displayErrorDetails): Body
{
$output = $this->render($exception, $displayErrorDetails);
$body = new Body(fopen('php://temp', 'r+'));
Expand Down
Loading