matthewbdaly/laravel-dynamic-serving

Laravel 动态服务中间件

0.0.2 2018-04-22 22:26 UTC

This package is auto-updated.

Last update: 2024-08-28 06:32:24 UTC


README

Build Status Coverage Status

此包提供了中间件 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 的键,然后您可以使用这个键来确定显示给用户的视图,根据这个键返回的是 truefalse。此外,它将响应的 Vary 标头设置为 User-Agent,这告诉搜索引擎和缓存系统响应将根据用户代理而变化。如果您想允许用户根据用户代理覆盖默认设置(这是一个好主意),您只需提供一个方法来切换会话中的 mobile 标志 - 通常您会通过 AJAX 来完成此操作,并在之后重新加载页面。

它还提供了 is_mobile()is_desktop() 辅助函数。虽然您可以使用这些函数来确定要加载的视图,但在视图中使用它们来确定是否显示视图的特定部分可能更有用。