Laravel-如何在这种情况下正确编码


Laravel - How to properly code in this situation?

我有一个网站,允许用户在特定位置登录和注销。当加载主页时,我从DB中提取数据,在控制器中处理它,然后将它发送到视图。我的控制器方法中有很多冗余代码。

如何通过使用类从DB和流程部分提取来实现相同的结果?

与Zend Framework中的Action Helpers不同,Laravel(据我所知)没有保持控制器"瘦"的特定首选方法。当我开始注意到Laravel控制器中的冗余代码时,我通常会将冗余代码抽象为控制器上的一个受保护的方法——一个不依赖于控制器状态的方法。

当我的控制器开始开发太多这样的助手方法时,我会创建独立的PHP助手类,并将这些受保护的方法重构为独立类上的公共方法,在我的受保护助手方法和帮助类之间有一对一的关系(即,每个类只做一件事)。如果我开始注意到助手类之间的冗余行为,我会创建一个基本助手,在那里我可以隐藏这个功能。