webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。

76b11b5e7fd82ef5.png

webman中使用 jasongrimes/paginator 分页组件


webman分页使用了下面2个PHP组件:

* illuminate/pagination
* jasongrimes/paginator:~1.0

webman官方文档:https://www.workerman.net/doc/webman/db/paginator.html 已经给出比较详细的使用方法。但是官方文档分页方法仅适用于Bootstrap 3,在Bootstrap 4下存在兼容性问题。

解决jasongrimes/paginator 分页组件与 Bootstrap 4 兼容性问题


jasongrimes/paginator这个PHP组件作者已经不再维护,导致没有兼容Bootstrap 4,在Bootstrap 4下分页样式存在问题。

解决办法是修改vendor/jasongrimes/paginator/src/JasonGrimes/Paginator.php这个文件,找到toHtml()这个函数将其修改为:

/**
     * Render an HTML pagination control.
     *
     * @return string
     */
    public function toHtml()
    {
        if ($this->numPages previousText .'
- ' . htmlspecialchars($page['num']) . '
- ' . htmlspecialchars($page['num']) . '
- '. $this->nextText .' »
';

        return $html;
    }


修改后分页样式就能正常显示了,如下效果。

3793d80d353f7fc3.png

jasongrimes/paginator限制分页展示数量


在手机设备上,由于宽度有限,会发现jasongrimes/paginator组件撑出了屏幕宽度,只需要调用下面这个函数即可。

$paginator->setMaxPagesToShow(3);


> 此文部分内容参考了:https://github.com/jasongrimes/php-paginator/issues/17