F3:重新路由到动态 URL



我在从控制器中重新路由到动态 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']]);

相关内容

  • 没有找到相关文章

最新更新