samybgt/screenwidth

此包最新版本(2.5)没有提供许可证信息。

此包将允许您在服务器端获取屏幕宽度并使用它

2.5 2024-04-22 19:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 21:49:38 UTC


README

Screenwidth 是一个易于使用的 PHP Laravel 包。我们相信开发必须是一个愉快且富有创造性的体验,才能真正令人满足。Screenwidth 通过简化许多网页项目中常用的常见任务,消除了开发中的痛苦,例如

  • 易于使用的辅助函数。
  • 根据宽度获取设备类型。
  • 检查特定设备类型。

Screenwidth 易于访问、功能强大,是大型、健壮应用程序所需的工具。

使用 Screenwidth

当使用 CSS 时,页面内容将在用户调整窗口大小时实时更新,而此包会对网络请求进行去抖动,并在下一次页面请求时更新页面。

安装

composer require samybgt/screenwidth:2.3

默认断点

以下给出了默认断点

<?php
return [
  'devices' => [
    'mobile' => [
      'min' => 0,
      'max' => 576
    ],
    'tablet' => [
      'min' => 576,
      'max' => 992
    ],
    'desktop' => [
      'min' => 992,
      'max' => 10000
    ],
  ],
  'auto_reload' => true,
  'exceptUrls' => [
    
  ],
];

自定义断点

(此步骤是可选的)

如果您想根据需要更改断点,请创建以下位置的一个文件,然后根据需要覆盖值。这是一个非常强大的设置,它为开发者提供了完全的自由来自定义需求。

config/samybgt/screenwidth.php

加载器

(此步骤是可选的)

只有在应用程序首次加载时,您将收到一条消息,说明我们正在检查设备宽度以提供最佳网站视图。您可以通过创建文件并添加自己的 HTML 来自定义该 UI。

resources/views/vendor/samybgt/screenwidth/screenwidth_loader.blade.php

中间件

中间件已经由供应商创建,您只需要将此中间件应用到您的路由组中。

screenwidth

示例 1:将完整内容应用到 web.php 文件

app/Providers/RouteServiceProvider.php

Route::middleware(['web','screenwidth'])
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));

示例 2:应用到特定路由组

Route::group(['prefix' => '', 'middleware' => ['your_middleware_1','screenwidth']], function()
{
  Route::get('/route_1', 'AppController@method1');
  Route::get('/', 'AppController@landing');
});

在屏幕大小调整事件上

所有代码都是现成的,可以直接使用。您无需担心任何编码,只需包含此文件,调整大小即可开始工作。重要的是您将其放置在布局文件中,以便您的应用程序看起来最佳。我将其放在我的布局文件 app.blade.php 中,以及 login/register 页面上。

@screenwidth_reportWindowSize

或者,如果您由于任何版本问题而无法使用上述指令,可以只使用以下代码。

@include(screenwidth::screenwidth.reportWindowSize)

辅助函数

辅助函数已经由供应商创建,您只需直接调用函数并在代码中使用它。

// To get the width of the client screen.

screenwidth_get()
// Output: 1234

// To get the device type based on width and breakpoints given in config file

screenwidth_device()
// Output: desktop

// Check if the device is that type based on parameter and config file

screenwidth_is('desktop')
// Output: true / false

贡献

感谢您考虑为此工具做出贡献!

Palani Kumar

安全漏洞和建议

如果您有任何建议或发现安全漏洞,请通过samybgt@gmail.com发送电子邮件给 Samy。所有安全漏洞都将得到及时处理,并且我们可以就建议进行合作。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件