我有这段代码:
$app->get('myroute', ['uses' => 'MyController@method']);
当我http://app.com/myroute
时,它会创建MyController的新实例并调用method()
或只调用method()
?
答案 0 :(得分:0)
它会创建MyController
的新实例,然后在其上调用method()
。您可以通过执行以下操作来测试:
class MyController extends Controller {
function __construct() {
var_dump('__construct');
}
public function method() {
var_dump('method()');
}
}
这将导致页面显示:
__construct
method()
这证明了它们的顺序。此外,您可以(并且在文档中推荐)在适当的情况下通过控制器构造函数使用依赖注入。