| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * @package merchant
- *
- * @author xaboy
- * @day 2020-03-26
- *
- *
- */
- namespace app\common\middleware;
- use app\Request;
- use crmeb\interfaces\MiddlewareInterface;
- use think\Response;
- abstract class BaseMiddleware implements MiddlewareInterface
- {
- /**
- * @var Request
- */
- protected $request;
- protected $args = [];
- abstract public function before(Request $request);
- /**
- * @param int $num
- * @param mixed $default
- * @return mixed
- * @author xaboy
- * @day 2020-04-10
- */
- public function getArg($num, $default = null)
- {
- return isset($this->args[$num]) ? $this->args[$num] : $default;
- }
- final public function handle(Request $request, \Closure $next, ...$args): Response
- {
- $this->args = $args;
- $this->request = $request;
- $this->before($request);
- $response = $next($request);
- $this->after($response);
- return $response;
- }
- abstract public function after(Response $response);
- }
|