laravel get和post route之间的区别

时间:2015-03-24 18:08:40

标签: php laravel laravel-5 laravel-routing

我是laravel的初学者,我从codeigniter转到laravel所以我没有路线的概念。任何人都可以告诉我laravel 5中的post和get路线之间的区别。

基本GET路线

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

基本POST路线

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

他们的任何劣势或好处,或者我是否同时使用它们 什么时候我应该使用它们当我在同一时间使用它们时将参数传递给它们会发生什么。

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

1 个答案:

答案 0 :(得分:6)

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

Route::get('users/{id}', function($id) {
    $user = \App\User::find($id);

    echo "Name: " . $user->name . '<br>';
    echo "Email: " .  $user->email;
});

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

Route::post('users', function() {
    try {
        \App\User::create([
            'name'      => \Input::get('name'),
            'email'     => \Input::get('email'),
            'password'  => bcrypt(\Input::get('password'))
        ]);

        return Redirect::intended('/');
    } catch(Exception $e) {
        return $e->getMessage();
    }
});

这只是一个简单的例子,但我希望你能看到差异。