matthewbdaly / laravel-dynamic-serving
Laravel 动态服务中间件
Requires (Dev)
- matthewbdaly/artisan-standalone: 0.0.*
- mockery/mockery: ~1.0
- orchestra/testbench: 3.5
- orchestra/testbench-browser-kit: ~3.5
- phpunit/phpunit: ^6.3
- psy/psysh: 0.8.*
- satooshi/php-coveralls: ^1.0
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.1
This package is auto-updated.
Last update: 2024-08-28 06:32:24 UTC
README
此包提供了中间件 Matthewbdaly\LaravelDynamicServing\Http\Middleware\DetectMobile
,您可以选择全局设置,或在适当的路由子集中使用。当用户首次导航到该中间件背后的页面时,它会将一个键 mobile
设置在您的会话中,然后您可以使用它来确定显示给用户的视图,基于它返回的是 true
还是 false
。此外,它将响应中的 Vary
标头设置为 User-Agent
,告诉搜索引擎和缓存系统响应将根据用户代理而变化。如果您想允许用户根据用户代理覆盖默认设置(这是一个好主意),您只需提供一种方法来切换会话中的 mobile
标志 - 通常您会通过 AJAX 来完成此操作,并在之后重新加载页面。
我该如何安装它?
$ composer require matthewbdaly/laravel-dynamic-serving
它做什么?
该包提供了中间件 Matthewbdaly\LaravelDynamicServing\Http\Middleware\DetectMobile
,您可以根据需要全局设置,或仅在适当的路由子集中使用。当用户首次访问此中间件背后的页面时,它会在会话中设置一个名为 mobile
的键,然后您可以使用这个键来确定显示给用户的视图,根据这个键返回的是 true
或 false
。此外,它将响应的 Vary
标头设置为 User-Agent
,这告诉搜索引擎和缓存系统响应将根据用户代理而变化。如果您想允许用户根据用户代理覆盖默认设置(这是一个好主意),您只需提供一个方法来切换会话中的 mobile
标志 - 通常您会通过 AJAX 来完成此操作,并在之后重新加载页面。
它还提供了 is_mobile()
和 is_desktop()
辅助函数。虽然您可以使用这些函数来确定要加载的视图,但在视图中使用它们来确定是否显示视图的特定部分可能更有用。