renanonline8 / slim-utils
Tools for Slim Framework
1.0.0
2019-05-30 02:19 UTC
Requires
- slim/slim: ^3.0
This package is auto-updated.
Last update: 2025-04-29 01:14:12 UTC
README
Tools for Slim Framework 3.
Install
composer require renanonline8/slim-utils
Usage
BaseController
This class has the purpose of creating a controller class
- Create the class
namespace App\Controller; use \SlimUtils\Controller\BaseController; use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; final class Controller extends BaseController { public function control(Request $request, Response $response, Array $args) { //implement the code... //for use a container... $this->containerName->functionContainer(); } }
- Create a container with Controller
$container['ControllerIndex'] = function($c) { return new \App\Controller\ControllerIndex($c); };
- Implement the route
$app->get('/[{name}]', 'Controller:control');
Middleware
This class has the purpose be a Middleware abstract with easy access of container
- Create the class
namespace App\Middleware; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use \SlimUtils\Middleware\BaseMiddleware; use \SlimUtils\Middleware\InterfaceMiddleware; class ExampleMid extends BaseMiddleware implements InterfaceMiddleware { public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next) { //for use a container... $this->containerName->functionContainer(); $response->getBody()->write('BEFORE'); $response = $next($request, $response); $response->getBody()->write('AFTER'); return $response; } }
- Add Middleware at the route
$app->get('/[{name}]', 'Controller:control')->add(new ExampleMid($container));