如何在Slim 2中对博客文章进行分页?

密西歇尔

我正在尝试使用Slim 2 Framework对博客文章进行分页,但是我对如何在其余框架中传递参数感到困惑。

我们如何参加localhost/blog.php?page=2Slim 2?

半身人

您确实可以像localhost/blog.php?page=2在Slim中那样使用URL ,但是它违反了路由系统的目的。理想的方法是完全使用路由进行路由,例如/blog/2

但是,您也可以按照自己的方式进行操作。设置一条路径/blog,然后$_GET['page']在控制器功能内读取不要忘记将其强制转换为int,因此输入是安全的。isset()还要始终使用来检查参数是否存在,以防止不存在索引通知。


顺便说一句,我注意到此代码有问题:

$page = $request->get('page');

// Get the current page if not set to page 1
$currentPage = isset($page) ? $page : 1;
if(!is_numeric($currentPage)) {
    $app->notFound();
}

你用过isset()这里,这将不利于-$page始终在第一线后进行设置。这对于检查$_GET超全局变量中是否存在条目是适当的,但是我们在这里不使用它。

另外,最好将条件添加到路由参数中,而不要手动检查它是否为数字。综合所有这些,您可以执行以下操作:

<?php
$app = new \Slim\Slim();
$app->get('/blog(/:page)', function() use ($app) {
    $page = $request->get('page');
    $maxPage = 4; // This would be done dynamically
    if ($page < 1 || $page >  $maxPage) {
        $app->notFound();
    }

    // More code here...
})->conditions(array('page' => '\d+'));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Octobercms中对列表顶部的精选博客文章进行排序

我将如何添加标签以在MVC应用程序中对博客文章进行分区?

如何在Bootstrap WordPress中添加2列博客文章

如何根据通用标签对相关文章进行排序?

如何在博客文章中包含链接

如何在Slim中访问POST请求的JSON请求正文?

如何在中间件Slim PHP框架中响应

如何在SLIM中呈现HTML编码的文本

如何在Slim应用程序中管理错误?

ruby on rails slim如何在select中处理值

如何在Slim v3中将Slim v2挂钩实现为中间件

如何在博客文章详细信息中添加表单?

如何在博客文章中嵌入代码和图像

我想对我的文章进行OOP分页

如何从博客文章页面中删除 Yoast

如何在版本4.8.2中解决博客文章的WordPress文章永久链接结构?

不,真的,如何在SublimeText2中安装Ruby-Slim软件包?

如何在Slim v3中的中间件类中访问$ container?

如何在 Slim 中的 <p> 中插入 text 和 link_to

如何在Rails Slim模板中的输入中添加angular属性指令?

我们如何在 Sinatra 应用程序中的 Slim 模板中渲染随机部分?

如何在Slim 3中手动启动404处理程序?

如何在Slim 4中设置和注入多个PDO数据库连接?

Slim Framework 如何在拦截器中按名称捕获路由参数

如何在Ruby on Rails中默认使用SLIM模板语言代替ERB

如何在Nginx的子目录中获取Slim PHP Framework路由

如何添加分页来导航博客文章页面(节点/快速)

如何为angular 2博客文章设置不同的模板格式?

如何从博客文章中获取用户名?