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 许可证 许可。