【发布时间】:2016-05-31 15:58:38
【问题描述】:
我是一名开发现有 Laravel 应用的新手开发人员。我正在浏览该项目,我没有看到任何地方构造了任何控制器,但这些控制器都具有构造函数。
这是 Laravel 的事情还是我只是错过了什么?控制器实例化是在路由中处理的还是什么?如果是这样,手动调用控制器构造函数是不好的做法吗?(虽然我想不出你想要这样做的情况)
【问题讨论】:
-
问题不清楚。你是什么意思我没有看到任何控制器在任何地方构造但控制器都具有构造函数?
-
我的意思是这个项目中的所有控制器都定义了一个 __construct 函数,但我没有看到项目中任何地方构造或实例化任何控制器。
-
投反对票的人能否向我解释一下为什么这是一个不好的问题?将来会这样做吗?除了你脆弱的优越感之外,仅仅投反对票并逃跑并没有任何帮助
-
框架(服务容器)为您执行控制器的实例化,每当您的应用需要实例时,您不必关心。
-
当创建一个类的新实例时,PHP 自身会自动调用构造函数。路由器正在向容器请求您的控制器实例。当它被创建时,构造函数被 PHP 调用。