阅读将变量传递给用户定义的函数,并说它可以使用' global'来访问函数外部的变量。但通过对SO的回答,Matteo Tassinari建议"完全避免使用全局变量而更喜欢传递参数"
以下是我的索引
<?php
$registry = new Registry(); <- need to pass this variable
$router->map('GET', '/', function ($controller = 'Home', $action = 'index') {
if (method_exists($controller, $action)) {
$controller = new $controller();
$controller->$action();
} else {
echo 'missing';
}
});
我需要访问变量$registry
,这可以通过向其追加全局来轻松完成,但我希望避免它并将其作为参数传递。
如何将$registry
作为参数传递?
答案 0 :(得分:1)
您可以尝试将use ($registry)
添加到该功能
$router->map('GET', '/', function ($controller = 'Home', $action = 'index') use($registry) {