trinityrank / tailing-slash
TailingSlash 在 URL 结尾添加 '/'
v1.4.0
2022-10-18 11:07 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
为 Laravel 框架添加带有尾部斜杠的 URL 格式化和重定向。
安装
步骤 1:安装包
要开始使用 Laravel Trailing Slash,请使用 Composer 命令将包添加到您的 composer.json 项目依赖项中
composer require trinityrank/tailing-slash
步骤 2:服务提供者
安装包后,在您的 config/app.php 中注册 Trinityrank\TailingSlash\RoutingServiceProvider。
'providers' => [ /* * Package Service Providers... */ // ... Trinityrank\TailingSlash\RoutingServiceProvider::class // ... ], 'aliases' => [ // ... 'UrlGenerator' => Trinityrank\TailingSlash\UrlGenerator::class, // ... ].
步骤 3:路由
Route::get('/', function () { return view('welcome'); }); Route::get('about-us/', function () { return view('about'); });
使用方法
每次使用 Laravel 的某些重定向函数时,都会将尾部斜杠 ("/") 应用于 URL 的末尾。
return redirect('about/'); return back()->withInput(); return redirect()->route('post', ['id' => 1]); return redirect()->action('IndexController@about');
注意
存在一个与 Laravel Paginator
和 LengthAwarePaginator
类覆盖的问题。因此,每次在您的模型、查询构造器等上使用 paginate()
方法时,都必须设置分页链接的当前路径。示例
$posts = Text::where('is_active', 1)->paginate(); $posts->setPath(URL::current()); $posts->links();
分页
- 使用此方法格式化 blade 组件(tailwind.blade.php)上的分页链接,并用于规范链接(检查 BaseController 中的
cleanCanonicalURL
)
UrlGenerator::paginationLinks($url)
- 在 'web.php' 中添加分页的页面路由。使用与正常归档页面相同的
controller
和method
(仅path
已更改) - 将以下内容添加到常规方法之上(而不是之下)
// Paginate emethod Route::get('{slug}/page/{page}', [FrontendController::class, 'resolve'])->name('resolve'); // Your regulat method Route::get('{slug}', [FrontendController::class, 'resolve'])->name('resolve');
- 在控制器中添加几件事情
- 在文档顶部使用
UrlGenerator
- 在方法中添加新的可选参数
$pageNumber
- 在方法开始处添加
UrlGenerator::paginationCheck
方法
- 在文档顶部使用
use Trinityrank\TailingSlash\UrlGenerator; // ... public function method($slug, $pageNumber = null){ // This add at the beginning of the method UrlGenerator::paginationCheck($pageNumber); // ... }
- 方法
paginationCheck
有第二个可选参数,如果默认的分页关键字不是page