如何使用字符串类型参数生成路由
How to generate a route using a string type parameter
在我的控制器方法中,创建了一行
public function createImg(Request $request, $id)
{
$url = url()->previous();
$start = env('APP_URL');
$path = explode($start , $url)[1];
some code
return view('img', ['path'=>$path, 'param'=>$param]);
}
我需要生成一条路线
Route::get('/{path}/img/{id}', 'App\Http\Controllers\ImgController@createImg')
是否可以将字符串传递给路由?我该怎么做?
你已经这样做了。
您按正确的顺序向您的方法添加了另一个参数。
换句话说,如果您的路线是这样的:
'/{path}/img/{id}'
那么你在控制器中的函数应该是这样的:
public function createImg(Request $request, $path, $id)
另请注意,您不必像这样传递整个路径:
'App\Http\Controllers\ImgController@createImg'
只要通过就够了:'ImgController@createImg'
.
你的意思是说,是否可以将字符串从路由传递到控制器?如果是这样,那么是的,这是完全有效的。
Route::get('/{path}/img/{id}', 'App\Http\Controllers\ImgController@createImg');
您只需将参数添加到控制器即可。
public function createImg(Request $request, $path, $id)
在我的控制器方法中,创建了一行
public function createImg(Request $request, $id)
{
$url = url()->previous();
$start = env('APP_URL');
$path = explode($start , $url)[1];
some code
return view('img', ['path'=>$path, 'param'=>$param]);
}
我需要生成一条路线
Route::get('/{path}/img/{id}', 'App\Http\Controllers\ImgController@createImg')
是否可以将字符串传递给路由?我该怎么做?
你已经这样做了。
您按正确的顺序向您的方法添加了另一个参数。
换句话说,如果您的路线是这样的:
'/{path}/img/{id}'
那么你在控制器中的函数应该是这样的:
public function createImg(Request $request, $path, $id)
另请注意,您不必像这样传递整个路径:
'App\Http\Controllers\ImgController@createImg'
只要通过就够了:'ImgController@createImg'
.
你的意思是说,是否可以将字符串从路由传递到控制器?如果是这样,那么是的,这是完全有效的。
Route::get('/{path}/img/{id}', 'App\Http\Controllers\ImgController@createImg');
您只需将参数添加到控制器即可。
public function createImg(Request $request, $path, $id)