Laravel Url Livewire
full current Url livewire
namespace App\Providers\AppServiceProvider;
1
2
3
4
5
6
7
8
9
10
11
12
use Illuminate\Support\Facades\URL;
public function boot()
{
URL::macro('livewire_current_url', function () {
if (request()->route()->named('livewire.update')) {
$previousUrl = url()->previous();
return $previousUrl;
} else {
return request()->fullUrl();
}
});
}
current param url
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
URL::macro('livewire_current_url_param', function () {
return new class() {
public function __construct() {}
public function get($key)
{
if (request()->route()->named('livewire.update')) {
$previousUrl = url()->previous();
$fullUrl = $previousUrl;
} else {
$fullUrl = request()->fullUrl();
}
$getParam = null;
$url_component = parse_url($fullUrl);
if (isset($url_component['query'])) {
parse_str($url_component['query'], $params);
if (isset($params[$key])) {
$getParam = $params[$key];
}
}
return $getParam;
}
};
});