saritasa / laravel-middleware
该包已被 废弃 且不再维护。未建议替代包。
Saritasa 中间件 for Laravel
2.1.3
2024-08-02 12:41 UTC
Requires
- php: >=7.0
- illuminate/http: >=5.0 <12.0
- illuminate/support: >=5.0 <12.0
Requires (Dev)
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^3.5
README
Laravel 的中间件类
Laravel 5.x/6.x/9.x
安装 saritasa/laravel-middleware
包
$ composer require saritasa/laravel-middleware
可选 如果您使用 Laravel 5.4 或更低版本,或者 5.5+ 且已禁用 包发现,请将 MiddlewareServiceProvider 添加到 config/app.php
'providers' => array( // ... Saritasa\Middleware\MiddlewareServiceProvider::class, )
它将为所有中间件类注册默认别名(中间件键)
或者,您可以自己注册 App\Http\Kernel.php 中的所选中间件类
见 https://laravel.net.cn/docs/middleware#registering-middleware
可用类
类名 / 中间件键
ForceHttps / ssl
此中间件有两个作用
- 如果用户尝试通过 HTTP 协议访问网站,则将其重定向到 HTTPS。
- 如果请求已经是通过 SSL 进行,则强制所有生成的 URL 使用 HTTPS URL 模式。
异常:如果 APP_ENV 设置为 'local'。
这解决了两个问题
- 应用程序可以通过不安全的协议访问
- 当应用程序位于终止 SSL 的代理或负载均衡器后面时,标准 Laravel 类无法正确检测它,并生成指向静态资源(JS、CSS)的 HTTP 链接 - 结果浏览器将其视为不安全并阻止。
NoCache / no-cache
插入 HTTP 标头,防止代理或浏览器缓存内容。
AdminAuthenticate / admin
检查用户是否有角色 = 'admin'。如果没有,则拒绝访问。
AjaxOnly / ajax-only
如果请求不是通过 AJAX(使用 XMLHttpRequest)进行的,则返回 'Bad Request' 错误。
贡献
- 创建分支,检出它
- 本地开发如常。 代码必须遵循 PSR-1, PSR-2 - 运行 PHP_CodeSniffer 以确保代码遵循风格指南
- 用单元测试添加功能覆盖 并运行 PHPUnit 以确保所有测试通过
- 更新 README.md 以描述新功能或更改的功能
- 将更改描述添加到 CHANGES.md 文件。使用 Semantic Versioning 规范来确定下一个版本号。
- 准备就绪后,创建拉取请求
创建快捷方式
如果您已安装 GNU Make,则可以使用以下快捷方式
make cs
(代替php vendor/bin/phpcs
)- 使用 PHP_CodeSniffer 运行静态代码分析以检查代码风格make csfix
(代替php vendor/bin/phpcbf
)- 尽可能自动修复代码风格违规(例如 PSR-2 代码格式违规)make test
(代替php vendor/bin/phpunit
) - 使用 PHPUnit 运行测试make install
- 代替composer install
make all
或不带参数的make
- 依次调用上述 install、cs、test 任务 - 项目将使用单个命令进行组装、通过代码检查器进行检查和测试