0

目前的控制流程,当我在我的 Laravel 5 应用程序上注册一个新用户时,处理请求生命周期的方式是:

  • RegisterRequest验证后调用验证器通过 >
  • ( RegisterRequest obj) MyAuthController >
  • 调度(用户obj)RegisterUserCommand >
  • 将字段映射到RegisterUserCommand对象 >
  • 在( RegisterUserCommand obj)处调用的处理程序RegisterUserCommandHandler >
  • 通过创建用户obj 创建新用户 >
  • 然后调用$user->save()
  • 将其保存到数据库中

我做对了吗?以这种方式传递数据是否正确?用户模型被调用并映射两次,这是一种好习惯吗?

规范:Laravel framework v5.0.28 with MySQL 5.6

4

2 回答 2

0

我不确定你说的是什么意思

maps fields to RegisterUserCommand object >

然而,生命周期大致应该是这样的

  1. Routes.php 将路由发送到 UserController.php
  2. 调用 postRegisterUser() 方法
  3. 实例化一个新的用户模型对象
  4. 所有属性都分配给新用户对象的实例属性。
  5. 调用用户模型对象的 save() 方法并更新数据库
于 2015-05-03T08:44:50.743 回答
0

有两种方法可以保存或处理任何请求

  1. 同步
  2. 异步

当您同步执行某事时,您会等待它完成,然后再继续执行另一个任务。当您异步执行某事时,您可以在它完成之前继续执行另一个任务。

我认为从您的示例中您正在尝试以异步方式保存数据。您还可以使用 laravel Queue 在后台保存用户。这将节省一些响应时间。

于 2018-08-29T14:15:44.177 回答