在 Slim 中,我如何传递一个 GET 变量来渲染
In Slim, how do I pass a GET variable to render
我使用 Slim 的时间很短。我还在使用第 2 版。到目前为止一切都很好,但我遇到了一些小问题。我有一个页面显示基于 URL 末尾的 GET 变量的内容。 url 如下所示...
http://localhost/trailcache.com/checklist/21
get 路由的第一行如下所示...
$app->get('/checklist/:Id', function($Id) use($app) {
就这样结束了...
})->name('checklist');
该 Id 参数控制我将哪些信息拉入页面,一切都进行得很好,但现在我添加了一个联系表单,并通过它进行了一些验证。我正在写入数据库并渲染新内容。当我尝试将错误发送回页面时出现问题。目前它看起来像这样...
$app->render('user/checklist.php', [
'Id' => $Id,
'errors' => $v->errors(),
'request' => $request
])->name('checklist');
这行不通。该页面是空白的。 url 它 returns 是...
http://localhost/trailcache.com/checklist
渲染文档显示...
$app->get('/books/:id', function ($id) use ($app) {
$app->render('myTemplate.php', array('id' => $id));
});
那在 post 路线中不是同样有效吗?它在我的所有其他页面上都有。
如何将这些错误与正确的 GET 变量一起传递,以便显示正确的内容?
这对我来说很好用。
return $this->renderer->render('myTemplate.php', array('id' => $id));
希望对你有用。
经过几天的努力,我找到了解决办法。我首先发现了 map() 并将第一行更改为...
$app->map('/checklist/:Id', function($Id) use($app) {
结束...
})->via('GET', 'POST')->name('checklist');
所以现在路由呈现相同,无论它来自 post 还是 get。然后我将表格指向这条命名路线...
<form action="{{ urlFor('checklist', {Id: Id}) }}" class="form" method="post">
并将所有 post 逻辑移入此路由。由于不需要验证请求是否不是 post 我使用了...
if($app->request->isPost()) {
并将验证码放入其中。提交表单后刷新页面将重新提交表单,因此如果验证通过我添加...
return $app->response->redirect($app->urlFor('checklist', array(
'Id' => $Id
)));
我所要做的就是将错误传递给模板,它似乎运行良好。
我使用 Slim 的时间很短。我还在使用第 2 版。到目前为止一切都很好,但我遇到了一些小问题。我有一个页面显示基于 URL 末尾的 GET 变量的内容。 url 如下所示...
http://localhost/trailcache.com/checklist/21
get 路由的第一行如下所示...
$app->get('/checklist/:Id', function($Id) use($app) {
就这样结束了...
})->name('checklist');
该 Id 参数控制我将哪些信息拉入页面,一切都进行得很好,但现在我添加了一个联系表单,并通过它进行了一些验证。我正在写入数据库并渲染新内容。当我尝试将错误发送回页面时出现问题。目前它看起来像这样...
$app->render('user/checklist.php', [
'Id' => $Id,
'errors' => $v->errors(),
'request' => $request
])->name('checklist');
这行不通。该页面是空白的。 url 它 returns 是...
http://localhost/trailcache.com/checklist
渲染文档显示...
$app->get('/books/:id', function ($id) use ($app) {
$app->render('myTemplate.php', array('id' => $id));
});
那在 post 路线中不是同样有效吗?它在我的所有其他页面上都有。
如何将这些错误与正确的 GET 变量一起传递,以便显示正确的内容?
这对我来说很好用。
return $this->renderer->render('myTemplate.php', array('id' => $id));
希望对你有用。
经过几天的努力,我找到了解决办法。我首先发现了 map() 并将第一行更改为...
$app->map('/checklist/:Id', function($Id) use($app) {
结束...
})->via('GET', 'POST')->name('checklist');
所以现在路由呈现相同,无论它来自 post 还是 get。然后我将表格指向这条命名路线...
<form action="{{ urlFor('checklist', {Id: Id}) }}" class="form" method="post">
并将所有 post 逻辑移入此路由。由于不需要验证请求是否不是 post 我使用了...
if($app->request->isPost()) {
并将验证码放入其中。提交表单后刷新页面将重新提交表单,因此如果验证通过我添加...
return $app->response->redirect($app->urlFor('checklist', array(
'Id' => $Id
)));
我所要做的就是将错误传递给模板,它似乎运行良好。