Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MVC中多个控制器相对于单个控制器的优势?_Php_Laravel - Fatal编程技术网

Php MVC中多个控制器相对于单个控制器的优势?

Php MVC中多个控制器相对于单个控制器的优势?,php,laravel,Php,Laravel,我正在开发一款laravel应用程序,希望了解一些最佳实践 例如,我正在考虑创建多个控制器,而不是在一个控制器中编写10个以上的方法 我想知道除了代码可读性之外,还有什么优点(如果有的话) 我主要关心的是,当PHP编译器需要编译更多的文件时,它会产生什么影响 因为我使用的是一个框架,它是要编译所有文件还是只编译web.php请求的文件 一些洞察力将是伟大的 当您为特定功能创建单独的控制器时,这对于新老开发人员更具可读性。 另外,请检查此项使用多个控制器而不是一个控制器没有任何好处,只要它与一个型

我正在开发一款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

  • 创建用户
  • 编辑用户
  • 删除用户
  • 然后创建另一个控制器来管理另一个控制器的逻辑,如发送电子邮件等。这样,您的逻辑更有条理,易于使用,您可以更轻松地查找和更新您的方法