因为 Laravel 是一个相当灵活的框架,所以要回答这个问题其实没那么容易。当你的应用程序仅有一个接入点,把业务逻辑写在 Controller 层是可以的。但是现在更普遍的的情形是,有很多接入点去调用相同的功能模块。而且利用 Laravel 的 artisan 命令来创建用户也很常见,尤其是在项目前期的开发阶段。但是如果要保持代码的简洁优雅,我们可以把这些业务逻辑写到其他地方。首先,可以尝试为一个特定的模型创建一个单一类,其中包含所有的代码。如果按照当前的方式去实现这个流程,我们就必须创建一个 BlogService 类,然后将其依赖注入到 UserService 类。下面是我最近每一个项目都采用的方法,结果很不错,推荐给大家。当然,这个方法是基于我过去几年使用 Laravel 的一些经验和我在一些项目中的实践。

Laravel程序架构设计思路之使用动作类

Laravel程序架构设计思路之使用动作类

Laravel程序架构设计思路之使用动作类

Laravel程序架构设计思路之使用动作类

Laravel程序架构设计思路之使用动作类