【问题标题】:difference between laravel get and post routelaravel get 和 post 路由的区别
【发布时间】:2015-05-28 04:36:41
【问题描述】:

我是 laravel 的初学者,我正在从 codeigniter 转移到 laravel,所以我没有路由的概念。谁能告诉我 laravel 5 中的 post 和 get route 之间有什么区别。

基本 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 请求用于读取事物,而 HTTP POST 请求用于创建/上传事物。我建议阅读 HTTP 动词及其含义(GET 和 POST 不是唯一的......)
  • @alexander.biskop 如果我们想使用我应该使用的 id(PK) 从数据库中获取数据。从我从 laravel 5 文档中读取的内容中,我们可以将参数传递给 get 和 post 请求.?
  • 这取决于上下文,但总的来说,我会说你应该使用 GET。但是,这与 laravel 或任何其他特定框架/编程语言/平台无关。这只是基本的 HTTP 内容。正如我所说,我建议阅读该主题。例如。从这里开始:restapitutorial.com/lessons/httpmethods.html
  • 是的,在这种情况下,您将创建一个用于获取/读取的 GET 路由,一个用于创建/编辑内容的 POST 或 PUT 路由,以及一个用于删除的 DELETE 路由。
  • @UsamaLucky 不幸的是,我没有时间写答案。也许别人会。资源路由是侦听标准请求集的路由。如果您有 Route::resource('foo', 'FooController) GET foo 将在您的控制器中调用 index 方法并显示所有资源。 GET foo/1 将使用第一个参数 1 调用 show 方法,依此类推...所有操作都列在文档中

标签: php laravel laravel-5 laravel-routing


【解决方案1】:

这是 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();
    }
});

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

【讨论】:

  • Thnx 兄弟你的回答真的很有帮助,但你能告诉我这段代码用于 \App\User::create()
  • \App\User 是一个模型,它带有默认的 Laravel 5 安装。 create() 方法是 Eloquent ORM 的一部分,用于保存新模型并返回新模型的实例。看看官方文档页面:laravel.com/docs/5.0/eloquent Eloquent 的使用教程有一堆,google 一下 ;)
猜你喜欢
  • 2018-04-20
  • 2013-11-08
  • 2017-02-28
  • 2011-02-20
  • 2018-10-15
  • 2016-04-21
  • 2012-12-24
  • 2021-08-31
相关资源
最近更新 更多