我正在尝试创建一个简单的路由,根据数组/密钥将端点重定向到特定的URL。
$redirects = [
"/ios" => $GLOBALS['config']['iosAppStoreLink'],
"/android" => $GLOBALS['config']['androidAppStoreLink']
];
/**
* Redirects
*/
foreach($redirects as $endpoint => $url) {
$app->get($endpoint, function($request, $response) {
return $response->withRedirect($url);
});
}
一旦我进入$app->get
函数,端点就会毫无问题地创建,它不允许我使用$url
...我的Undefined Index
错误控制台。
我在这里做错了什么,为什么我无法访问$url
变量?
答案 0 :(得分:1)
要允许该功能从其自身范围之外访问$url
,您可以使用function() use() {
语法...
foreach($redirects as $endpoint => $url) {
$app->get($endpoint, function($request, $response) use ($url) {
return $response->withRedirect($url);
});
}