我正在开发一个Laravel应用程序并使用服务层模式来隔离业务逻辑。我在所有教师/文章中遇到的是将HTTP请求对象从控制器直接传递到服务中。对我而言,它违背了服务原则,即服务是独立于API的代码,对某个功能负有单一责任。想象一下,我想从命令行或事件处理程序调用服务,然后我必须构造一个HTTP Request对象传递给控制器。
同样适用于验证:据我所知,验证器会在失败时重定向用户(在命令行或事件处理程序的情况下可能没有意义)或返回HTTP错误。
另一方面,对于很多表单字段,应该有一些结构来传递数据,表单本身已经给出了这样的结构。
关于此的最佳做法是什么?