laravel get和post route之间的差异



我是laravel的初学者,我正在从代码点火器转向laravel,所以我没有路线的概念。有人能告诉我在laravel 5中发布和获取路线之间的区别吗。

基本GET路由

Route::get('/', function()
{
    return 'Hello World';
});

基本POST路由

Route::post('foo/bar', function()
{
     return 'Hello World';
});

它们有什么缺点或好处吗?或者如果我同时使用它们当我同时使用它们时,如果我将参数传递给它们,会发生什么。

Route::match(['get', 'post'], '/', function()
{
    return 'Hello World';
});

这是HTTP协议的问题。简单地说,GET通常用于呈现/查看某些内容,而POST则用于更改某些内容。例如,当您为某个用户获取数据时,您使用GET方法,它看起来像这样:

Route::get('users/{id}', function($id) {
    $user = AppUser::find($id);
    echo "Name: " . $user->name . '<br>';
    echo "Email: " .  $user->email;
});

而使用POST方法,您可以创建或更新用户数据(当用户提交表单时,您将POST请求发送到此路由):

Route::post('users', function() {
    try {
        AppUser::create([
            'name'      => Input::get('name'),
            'email'     => Input::get('email'),
            'password'  => bcrypt(Input::get('password'))
        ]);
        return Redirect::intended('/');
    } catch(Exception $e) {
        return $e->getMessage();
    }
});

这只是一个简单的例子,但我希望你能看到其中的区别。

相关内容

最新更新