使用Slim和Twig的GET和POST方法

时间:2015-06-05 18:07:12

标签: php url twig url-for

我正在尝试使用Slim PHP框架创建一个论坛。但是,我遇到了为论坛的每个部分分配参数的问题。我想得到每个类别厕所的主题。这意味着网址会像:

http://website.com/forum?catID=1

基于该页面将呈现该类别的主题。我一直在使用urlFor()函数,但我似乎无法理解 将它传递给它。

这是我目前的路线代码:

$app->get('/forum', function() use($app) {

$categories = $app->categories->get();
$topics = $app->topics->get();


$app->render('forum/forumCat.php', ['categories' => $categories, 'topics' => $topics]);
})->name('forumCategories');

以及我用来显示类别的代码:

{% for category in categories %}
<br>
<p><a href="#">{{category.category_title}}<a><br>{{category.category_description}}</p>
<br>
<br>
{% endfor %}

由于

1 个答案:

答案 0 :(得分:2)

您定义的categoriestopics变量是?如果您只想获得catID的值,可以像这样访问它:

$catID = $app->request->get()['catID'];

您也可以考虑将catID放在网址中,例如http://website.com/forum/category/1

然后你可以像这样检索它:

$app->get('/forum/category/:cat_id/?', function($cat_id) use($app) {

    $topics = functionToLookUpTopicsByCategoryID($cat_id);

    $app->render('forum/forumCat.php', [
        'topics' => $topics
    ]);
})->name('forumCategories');

如果您想从POST请求中捕获类别ID,您可以执行以下操作:

$app->post('/forum/category/?', function() use($app) {
    $id = $app->request->post()['id'];
    ...
});