Laravel 路由详解及使用,laravel完美支持HTTP1.1中的方法
Route::get('/', $callback); Route::post('/', $callback); Route::put('/', $callback); Route::patch('/', $callback); Route::delete('/', $callback); Route::options('/', $callback);
第一种:Route类 静态方法 url路径 回调函数
Route::get('/', function () { return view('welcome'); });
第二种:Route类 静态方法 url路径 控制器 行为
Route::get('/','[控制器]@[行为]'); Route::get('/posts','\App\Http\Controllers\PostController@index');
问题1,如果我这个路由posts我希望它所有方式都支持,那就用 any;
Route::any('/posts','\App\Http\Controllers\PostController@index');
问题2,如果我这个路由posts我希望它 get 和 post 方式都支持,那就用 match;
Route::match(['get','post'],'/posts','\App\Http\Controllers\PostController@index');
html只支持表单get和post使用:
<form action="/posts" method="post"> </form>
如果其他可以加隐藏域
<form action="/posts" method="post"> <input type="hidden" name="_method" value="PUT"/> </form>
<input type="hidden" name="_method" value="PUT"/>
等价于
{{method_field("PUT")}}
问题3,传递id
Route::get('/posts/{$id}','\App\Http\Controllers\PostController@index');
第三种:路由分组功能
Route::group('prefix'=>'post',function(){ Route::get('/','\App\Http\Controllers\PostController@index'); Route::post('/create','\App\Http\Controllers\PostController@index'); Route::get('/{$id}','\App\Http\Controllers\PostController@index'); });
第四种:绑定模型
Route::get('/posts/{$post}','\App\Http\Controllers\PostController@show');
方法使用:
function show(\App\Post\$post){ }
文章评论(0)