缺少一个参数
修改理由:
详细描述:
new FoodIsHealthy($food),
应该是
new FoodIsHealthy(user(), $food),
此投稿已在 6年前 合并。
内容修改:
| Old | New | Differences |
|---|---|---|
| 1 | ||
| 2 | 1 |  |
| 3 | 2 | |
| 4 | 3 | Laravel 的自由度超越了许多前期框架,这才是它真正的力量来源,但是伴随力量而来的是职责。 | … | … |
| 7 | 6 | |
| 8 | 7 | 在本文中,我将概述一种更有效的方法,以避免我们在编写业务逻辑的时候经常会犯的错误。 |
| 9 | 8 | |
| 10 | ||
| 9 | ||
| 11 | 10 | |
| 12 | 11 | ### 业务逻辑究竟是什么? |
| 13 | 12 | … | … |
| 74 | 73 | |
| 75 | 74 | 事情可能非常容易失控... |
| 76 | 75 | |
| 77 | ||
| 76 | ||
| 78 | 77 | ### 让我们整理一下思路 |
| 79 | 78 | |
| 80 | 79 | 这样编写控制器不是很好吗? | … | … |
| 83 | 82 | public function eat(Food $food) |
| 84 | 83 | { |
| 85 | 84 | $this->business([ |
| 86 | new FoodIsHealthy( | |
| 85 | new FoodIsHealthy(user(), $food), | |
| 87 | 86 | new UserHasEnoughCaloriesRemaining(user(), $food), |
| 88 | 87 | ]); |
| 89 | 88 | ``` | … | … |
| 101 | 100 | |
| 102 | 101 | 将该逻辑的操作执行委托给另一个类会给我们带来更好的可测试性,*这在执行业务逻辑时是至关重要的*。 |
| 103 | 102 | |
| 104 | ||
| 103 | ||
| 105 | 104 | ### 让我们开始吧! |
| 106 | 105 | |
| 107 | 106 | 首先我们定义一个业务对象: | … | … |
| 141 | 140 | |
| 142 | 141 | > 我会建议添加 `passes()` 和 `message()` 方法来为这些对象添加接口契约。 |
| 143 | 142 | |
| 144 | ||
| 143 | ||
| 145 | 144 | 接下来,让我们编写一个方法来处理基类控制器中的所有业务对象: |
| 146 | 145 | |
| 147 | 146 | ``` |
关于 LearnKu