Php MVC中多个控制器相对于单个控制器的优势?
我正在开发一款laravel应用程序,希望了解一些最佳实践 例如,我正在考虑创建多个控制器,而不是在一个控制器中编写10个以上的方法 我想知道除了代码可读性之外,还有什么优点(如果有的话) 我主要关心的是,当PHP编译器需要编译更多的文件时,它会产生什么影响 因为我使用的是一个框架,它是要编译所有文件还是只编译web.php请求的文件Php MVC中多个控制器相对于单个控制器的优势?,php,laravel,Php,Laravel,我正在开发一款laravel应用程序,希望了解一些最佳实践 例如,我正在考虑创建多个控制器,而不是在一个控制器中编写10个以上的方法 我想知道除了代码可读性之外,还有什么优点(如果有的话) 我主要关心的是,当PHP编译器需要编译更多的文件时,它会产生什么影响 因为我使用的是一个框架,它是要编译所有文件还是只编译web.php请求的文件 一些洞察力将是伟大的 当您为特定功能创建单独的控制器时,这对于新老开发人员更具可读性。 另外,请检查此项使用多个控制器而不是一个控制器没有任何好处,只要它与一个型
一些洞察力将是伟大的 当您为特定功能创建单独的控制器时,这对于新老开发人员更具可读性。
另外,请检查此项使用多个控制器而不是一个控制器没有任何好处,只要它与一个型号相关。您可能会说它增加了可读性,但最好将它们统一到与模型关联的单个控制器中,并尝试为方法选择表达性名称。其主要思想是创建一个与每个模型关联的控制器。您可以在模型中添加尽可能多的方法,以便与数据库对话、进行查询并在关联的控制器中调用这些方法。然后,您可以通过
web.php
路由触发这些控制器来处理数据并将其传递到视图层。如果控制器中的10种方法都是相关的,则将它们保留在该控制器中。如果您有一个水果控制器
,其方法与对水果
类型执行操作相关,但您还包括一些对蔬菜
执行操作的方法,请将蔬菜
方法移动到新控制器
在编写文件时请考虑
一般来说,避免为了它而创建文件。如果创建一个新文件是有意义的,因为您要放在该文件中的逻辑没有其他现有的主文件,那么很好,否则将您的逻辑添加到现有文件中
我不确定将相关代码拆分为单独的文件是否会提高可读性,只要代码格式良好且一致(除其他外),大文件就可以读取。如果你感兴趣,就去看看
您将不得不浏览和维护几个相关的文件,从而降低生产效率和可维护性。来自laravel:
Instead of defining all of your request handling logic as Closures in route files, you
may wish to organize this behavior using Controller classes. Controllers can group
related request handling logic into a single class. Controllers are stored in the
app/Http/Controllers directory.
我建议您将逻辑划分为不同的控制器。例如,您可以将所有用户逻辑放入一个控制器userController.php: