wellrested / redirect
PSR-15 中间件,用于简单的重定向
v1.1.0
2018-06-27 18:27 UTC
Requires
- php: >=7
- psr/http-message: ~1.0
Requires (Dev)
- phpunit/phpunit: ^7
- wellrested/test: ^1
- wellrested/wellrested: >=3.1
This package is auto-updated.
Last update: 2024-09-12 07:20:12 UTC
README
PSR-15 简单重定向处理器
相同用法
<?php use WellRESTed\Redirect\RedirectHandler; use WellRESTed\Message\Response; use WellRESTed\Server; $server = new Server(); $server->add($server->createRouter() ->register('GET', '/old-path', new RedirectHandler(301, '/new-path', new Response())) ); $server->respond();
当处理器被分发时,它将返回一个包含提供的状态码和位置的响应。
当使用依赖注入容器时,你可能希望用一个小型工厂包装 RedirectHandler
。
<?php use Pimple\Container; use Pimple\ServiceProviderInterface; use WellRESTed\Redirect\RedirectHandler; use WellRESTed\Server; class ServiceProvider implements ServiceProviderInterface { public function register(Container $c) { $c['redirect'] = $c->protect( function ($status, $location) { return new RedirectHandler($status, $location, new Response()); } ); $c['server'] = function ($c) { $server = new Server(); $server->add($c['app:notFoundHandler']); $server->add($server->createRouter() ->register('GET', '/', [ $c['app:rootHandler'] ]) ->register('GET', '/old-path', [ $c['redirect'](301, '/new-path') ]) ->register('GET', '/new-path', [ $$c['app:newThing'] ]) ->register('POST', '/login', [ $c['app:loginHandler'], $c['redirect'](303, '/') ]) ); return $server; }; } }