如何在 Laravel 中的 @if 语句中获取当前 URL?
laravelphpserver side programming更新于 2025/4/29 23:37:17
要获取当前 URL,您可以使用以下示例中解释的方法 −
示例 1
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Http\Response; class UserController extends Controller { public function index(Request $request) { return view('test'); } }
The test.blade.php is −
<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> </head> <body class="antialiased"> <div> @if (Request::path() == 'users') <h1>The path is users</h1> @endif </div> </body> </html>
在 test.blade.php 中,Request::path() 用于检查它是否指向用户,然后仅显示 h1 标签。Request::path() 返回当前正在使用的 URL。
示例 2
在此示例中,让我们使用 url()->current() 方法,如下例所示。 url()->current() 提供当前 URL 的完整路径。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index(Request $request) { return view('test'); } }
Test.blade.php
<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> </head> <body class="antialiased"> <div> @if (url()->current() == 'http://localhost:8000/users') <h1>The path is users</h1> @endif </div> </body> </html>
执行上述示例时,它会在浏览器上打印以下内容 -
路径为 users
示例 3
此示例中将使用 Request::url() 。其输出与 url()->current() 相同,它返回完整的 URL,如下例所示 -
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index(Request $request) { return view('test'); } }
Test.blade.php
<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> </head> <body class="antialiased"> <div> @if (Request::url() == 'http://localhost:8000/users') <h1>The path is users</h1> @endif </div> </body> </html>
执行上述示例时,它会在浏览器上打印以下内容 -
The path is users
示例 4
使用 Request::is()
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller{ public function index(Request $request) { return view('test'); } }
Test.blade.php
<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> </head> <body class="antialiased"> <div> @if (Request::is('users')) <h1>The path is users</h1> @endif </div> </body> </html>
在上面的例子中,使用了 Request::is()。如果 URL 中存在给定的字符串,则返回 true/false。
执行上述示例时,它会在浏览器上打印以下内容 -
The path is users

