php - Slim 3 重定向路由循环不起作用
问题描述
我正在尝试创建一个简单的路由来将端点重定向到基于数组/键的特定 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
变量?
解决方案
要允许函数$url
从它自己的范围之外访问,您可以使用function() use() {
语法...
foreach($redirects as $endpoint => $url) {
$app->get($endpoint, function($request, $response) use ($url) {
return $response->withRedirect($url);
});
}
推荐阅读
- c# - Dapper Dommel - 查询连接自动映射
- reactjs - 错误:应用程序中的网络错误 react-native with axios
- nlp - 在 BertForMaskedLM 中,masked_lm_labels 参数如何工作?
- python - 我如何改变乌龟的颜色,而不是笔?
- sql - SQL Server 2019。需要更新特定行中的特定列
- express - 当内容类型和内容编码标头一起发送时,expressjs拒绝发布请求(400错误请求)
- ios - 在应用程序中打开应用程序,或者如果尚未下载,则进入应用程序商店 (iOS)
- vb.net - 如何让用户选择数据库的名称?
- python - 与他人共享 Python 程序
- google-sheets - Google Sheets importXML Returns Empty Value