Passing page URL parameter to controller in Laravel 5.2

If you want to access the data sent from get or post request use

public function store(Request $request)
{
    $order = $request->input('order');
    $type = $request->input('type');
    return view('whatever')->with('order', $order)->with('type', $type);
}

you can also use wildcards.

Exemple link

website.dev/user/potato

Route

Route::put('user/{name}', 'UserController@show');

Controller

public function update($name)
{
    User::where('name', $name)->first();
    return view('test')->with('user', $user);
}

Check the Laravel Docs Requests.


For those who need to pass part of a url as a parameter (tested in laravel 6.x, maybe it works on laravel 5.x):

Route

Route::get('foo/{bar}', 'FooController@getFoo')->where('bar', '(.*)');

Controller:

class FooController extends Controller
{
    public function getFoo($url){
    return $url;
    }
}

Test 1:

localhost/api/foo/path1/path2/file.gif will send to controller and return:

path1/path2/file.gif

Test 2:

localhost/api/foo/path1/path2/path3/file.doc will send to controller and return:

path1/path2/path3/file.doc 

and so on...