1

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

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 %}

谢谢

4

1 回答 1

2

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

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

您也可以考虑将 catID 放在 URL 本身中,例如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'];
    ...
});
于 2015-06-05T20:30:40.463 回答