renanonline8 / slim-utils
Slim 框架的工具
1.0.0
2019-05-30 02:19 UTC
Requires
- slim/slim: ^3.0
This package is auto-updated.
Last update: 2024-09-29 05:02:30 UTC
README
Slim 框架 3 的工具
安装
composer require renanonline8/slim-utils
使用
BaseController
此类的作用是创建控制器类
- 创建类
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(); } }
- 创建带有 Controller 的容器
$container['ControllerIndex'] = function($c) { return new \App\Controller\ControllerIndex($c); };
- 实现路由
$app->get('/[{name}]', 'Controller:control');
中间件
此类的作用是成为一个具有对容器易于访问的中间件抽象
- 创建类
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; } }
- 在路由中添加中间件
$app->get('/[{name}]', 'Controller:control')->add(new ExampleMid($container));