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