marshmallow / gtmetrix
为您的网站页面获取 GT Metrix 信息。此包也可以独立使用。
v1.1.2
2021-04-07 11:25 UTC
Requires
- php: ^7.4|^8.0
- marshmallow/nova-fields-help: ^1.0
- philcook/gtmetrix: ^1.0 || ^2.0
This package is auto-updated.
Last update: 2024-09-05 10:10:34 UTC
README
GT Metrix for Laravel Nova
为您的网站页面获取 GT Metrix 信息。此包也可以独立使用。
它是如何工作的?
您在 GT Metrix 上创建一个账户。一旦您有了 API 密钥,您就可以开始了。您可以将这个库添加到您想要的所有资源中,只要它们与公共 URL 相关联,我们可以获取该 URL 的 GT Metrix 评分。
索引视图
在索引页面上,我们显示了平均的 `Pagespeed` 评分和 `Yslow` 评分。
详情视图
在详情视图中,我们将显示 `Pagespeed` 评分和 `Yslow` 评分。您可以点击它们以转到 GTmetrix.com 网站的完整报告。
操作
在详情视图中,您将能够开始一个操作。此操作将被排队,所以请确保您有一个正在运行的工人。这需要这样做,因为在 GTmetrix 忙碌时,超时的可能性很大。
一旦您选择了获取新评分的操作,您将收到一个弹出窗口,告诉您您剩余的信用额,以及您是否确定要再花费一个信用额。
安装
使用 composer 拉取库。
composer require marshmallow/gtmetrix
更新您的 .env
文件并添加以下环境属性。
GTMETRIX_EMAIL_ADDRESS=... GTMETRIX_API_KEY=...
准备您的模型
- 将
use Actionable;
和use GTMetrix;
添加到您的模型中。
namespace App; use Laravel\Nova\Actions\Actionable; use Marshmallow\GTMetrix\Traits\GTMetrix; class Post extends Model { use GTMetrix; use Actionable; // ...
- 向您的模型添加公共方法
getFullPublicPath()
。当从 GT Metrix 获取状态时,我们将使用此方法的结果作为您想要检查的 URL。
class Post extends Model { // ... public function getFullPublicPath() { return 'https://marshmallow.dev/' . $this->slug; } }
准备您的 Nova 资源
- 将
GTMetrixField::make('GT Metrix'),
添加为字段。
use Marshmallow\GTMetrix\GTMetrixField; public function fields(Request $request) { return [ ID::make(__('ID'), 'id')->sortable(), GTMetrixField::make('GT Metrix'), ]; }
- 添加
new CheckGTMetrixScore,
作为操作。
use Marshmallow\GTMetrix\Actions\CheckGTMetrixScore; public function actions(Request $request) { return [ new CheckGTMetrixScore, ]; }