我在从控制器中重新路由到动态 URL 时遇到了一些困难。
在路线上.ini
GET /admin/profiles/patient/@patientId/insert-report = Admin->createReport
在控制器 Admin.php 中,在方法 createReport((:
$patientId = $f3->get('PARAMS.patientId');
我的尝试(在管理员.php中(:
$f3->reroute('admin/profiles/patient/' . echo (string)$patientId . '/insert-report');
问:如何在没有的情况下重新路由到同一 URL(将显示一些错误消息(完全更改路由,即将 patientId 附加为 URL 查询参数?
谢谢,K。
连接字符串不需要 echo
语句:
$f3->reroute('admin/profiles/patient/' . $patientId . '/insert-report');
以下是获得相同结果的其他 3 种方法:
1( 从当前模式构建 URL
(对于使用不同参数重新路由到同一路由很有用(
// controller
$url=$f3->build($f3->PATTERN,['patientId'=>$patientId]);
$f3->reroute($url);
2( 重新路由到相同的模式,相同的参数
(对于从发布/放置/删除重新路由到同一 URL 的 GET 很有用(
// controller
$f3->reroute();
3( 从命名路由构建 URL
(对于重新路由到其他路由很有用(
;config file
GET @create_report: /admin/profiles/patient/@patientId/insert-report = Admin->createReport
// controller
$url=$f3->alias('create_report',['patientId'=>$patientId']);
$f3->reroute($url);
或速记语法:
// controller
$f3->reroute(['create_report',['patientId'=>$patientId']]);