sashagm / cpu
CPU Sniffer Laravel +10.x
2.10.2
2024-09-11 18:33 UTC
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.2
README
CPU Sniffer
CPU Sniffer 是一个 Laravel 扩展包,允许您在应用程序中管理 ЧПУ(人读链接)。它使用 Laravel 路由绑定功能来确定在 URL 中使用哪个参数:SLUG 或 ID。您还可以快速切换模式并向用户显示唯一链接。
目录
要求
安装和正确运行的基本要求
PHP>= 8.0Laravel>= 10.xComposer>= 2.4.x
安装
- composer require sashagm/cpu
- php artisan cpu:install
使用
安装包后,请执行以下步骤
- 在配置文件
/config/cfg.php中定义cpu_url和routes参数。 cpu_url参数将决定使用哪种类型的链接。routes参数中定义必要的路由,包括名称、模型和请求。- 运行命令
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'] ] ] ];
在此示例中定义了两个路由:post 和 user。对于 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-post 的 Post 模型。如果 cpu_url 参数设置为 'id',则将加载具有相应标识符的模型。如果 cpu_url 参数设置为任何其他值,将抛出异常。
额外功能
我们的包提供了一系列额外的功能,这些功能在处理 ЧПУ 时可能很有用
php artisan cpu:install- 此命令将安装所有必要的文件。
测试
为了检查其功能,可以执行特殊命令
- ./vendor/bin/phpunit --configuration phpunit.xml
许可
CPU Sniffer 是开源软件,根据 MIT 许可证 许可。