我有一个网站,允许用户在特定位置登录和退出。加载主页面时,我从数据库中提取数据,在控制器中处理它,然后将其发送到视图。我的控制器方法中有很多冗余代码。
如何通过使用类来从DB和处理部分进行拉取来实现相同的结果?
答案 0 :(得分:2)
与Zend Framework中的Action Helpers不同,Laravel没有(据我所知)有一种特定的首选方法来保持控制器“瘦”。当我开始在Laravel控制器中注意冗余代码时,我通常会将冗余代码抽象为控制器上的单个受保护方法 - 一个不依赖于控制器状态的方法。
当我的控制器开始开发太多这些辅助方法时,我创建了独立的PHP辅助类,并将这些受保护的方法重构为独立类的公共方法,并在我的受保护的辅助方法之间建立一对一的关系。帮助类(即每个类只做一件事)。如果我开始注意帮助程序类之间的冗余行为,我创建了一个基本帮助程序,我可以在其中存储此功能。