I am using Laravel 4. I would like to access the current URL inside an @if
condition in a view using the Laravel's Blade templating engine but I don't know how to do it.
I know that it can be done using something like <?php echo URL::current(); ?>
but It's not possible inside an @if
blade statement.
Any suggestions?
To get the current URL in the Laravel Blade template you can make use of the "url()" helper function which is available globally. This helper can right away be called from the blade template and you can perform conditions based on the value it's returning.
Retrieving the Request URI The “path” method is used to retrieve the requested URI. The is method is used to retrieve the requested URI which matches the particular pattern specified in the argument of the method. To get the full URL, we can use the url method.
You can use: Request::url()
to obtain the current URL, here is an example:
@if(Request::url() === 'your url here') // code @endif
Laravel offers a method to find out, whether the URL matches a pattern or not
if (Request::is('admin/*')) { // code }
Check the related documentation to obtain different request information: http://laravel.com/docs/requests#request-information
You can also use Route::current()->getName()
to check your route name.
Example: routes.php
Route::get('test', ['as'=>'testing', function() { return View::make('test'); }]);
View:
@if(Route::current()->getName() == 'testing') Hello This is testing @endif
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With