sashagm/cpu

CPU Sniffer Laravel +10.x

2.10.2 2024-09-11 18:33 UTC

This package is auto-updated.

Last update: 2024-09-11 18:34:51 UTC


README

Laravel Logo

Total Downloads Latest Stable Version License Code size Code size

PHP Version Laravel Version

CPU Sniffer

CPU Sniffer 是一个 Laravel 扩展包,允许您在应用程序中管理 ЧПУ(人读链接)。它使用 Laravel 路由绑定功能来确定在 URL 中使用哪个参数:SLUG 或 ID。您还可以快速切换模式并向用户显示唯一链接。

目录

要求

安装和正确运行的基本要求

  • PHP >= 8.0
  • Laravel >= 10.x
  • Composer >= 2.4.x

安装

  • composer require sashagm/cpu
  • php artisan cpu:install

使用

安装包后,请执行以下步骤

  1. 在配置文件 /config/cfg.php 中定义 cpu_urlroutes 参数。
  2. cpu_url 参数将决定使用哪种类型的链接。
  3. routes 参数中定义必要的路由,包括名称、模型和请求。
  4. 运行命令 php artisan optimize 更新路由。

配置文件 cfg.php 的示例

return [
    'cpu_url' => 1,  // 1 - Режим slug, 0 - Режим id
    'routes' => [
        [
            'name' => 'post',   // Маршрут
            'model' => 'App\Models\Post', // Модель
            'query' => ['slug'] // Параметр для slug
        ],
        [
            'name' => 'user',
            'model' => 'App\Models\User',
            'query' => ['id']
        ]
    ]
];

在此示例中定义了两个路由:postuser。对于 post 路由,使用模型 App\Models\Post 和查询中的 slug 参数,而对于 user 路由,使用模型 App\Models\User 和查询中的 id 参数。

因此,我们可以在配置文件 /config/cfg.php 中的 routes 数组中添加新的路由和相应的模型,而 boot() 方法将在应用程序启动时自动绑定它们。

这样,我们的功能更加灵活,可以处理不同类型的链接。

应用路由

路由项示例

Route::get('/post/{post}', function (App\Models\Post $post) {

    dump($post);
    
})->name('post');

现在,当访问 /posts/my-first-post 路由时,如果 cpu_url 参数设置为 'slug',则将加载具有 slug 字段等于 my-first-postPost 模型。如果 cpu_url 参数设置为 'id',则将加载具有相应标识符的模型。如果 cpu_url 参数设置为任何其他值,将抛出异常。

额外功能

我们的包提供了一系列额外的功能,这些功能在处理 ЧПУ 时可能很有用

  • php artisan cpu:install - 此命令将安装所有必要的文件。

测试

为了检查其功能,可以执行特殊命令

  • ./vendor/bin/phpunit --configuration phpunit.xml

许可

CPU Sniffer 是开源软件,根据 MIT 许可证 许可。