ViewShareMiddleware.php 822 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Middleware;
  4. use Hyperf\View\RenderInterface;
  5. use Psr\Http\Message\ResponseInterface;
  6. use Psr\Http\Message\ServerRequestInterface;
  7. use Psr\Http\Server\MiddlewareInterface;
  8. use Psr\Http\Server\RequestHandlerInterface;
  9. class ViewShareMiddleware implements MiddlewareInterface
  10. {
  11. public function __construct(protected RenderInterface $render)
  12. {
  13. }
  14. public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
  15. {
  16. // 通过 RenderInterface 共享变量
  17. $this->render->assign([
  18. 'app_name' => 'Hyperf-Smarty-Demo',
  19. 'app_version' => '3.1.0',
  20. 'current_year' => date('Y'),
  21. ]);
  22. return $handler->handle($request);
  23. }
  24. }