adods / page-marker
用于在请求查询中保存 CRUD 列表筛选的库
1.0
2019-11-29 08:07 UTC
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-09-29 05:48:43 UTC
README
用于记住/记录用于筛选列表的 URL 查询字符串的简单库
安装
通过 Composer
composer require adods/page-marker
或者直接手动下载文件并将其放入您的 lib 目录中
要求
PHP >= 7.0
且 PHP 会话已启用
简单用法
将库包含到您的文件中,创建实例,调用 init()
和 remember()
。使用 forget()
来重置。
require "path/to/lib/src/PageMarker.php"; // or if you're using composer require "path/to/vendor/autoload.php"; use Adods\PageMarker\PagerMarker; // Make sure there's no output before doing this $pm = new PageMarker; // Setup default setting and redirect when condition are met $pm->init(); // Start recording $pm->remember();
init()
默认情况下,init()
将根据当前 URL 路径生成默认名称,转换为小写,然后将斜杠 '/'
、点 '.'
、连字符 '-'
和空格 ' '
替换为下划线 _
。设置默认 URL 为不带查询字符串的当前 URL。并使用 $_GET 超全局变量的内容作为基本数据。但,这可以更改。
在设置默认属性之后,它将检查是否需要重定向到最后一个状态或继续进行。
条件如下
- 如果基本数据包含重置键元素,则将删除记住的会话,并将重定向到基本 URL。
- 如果基本数据不为空,则正常继续处理
- 然后它将检查会话中是否存在数据。
- 如果会话数据为空,则正常继续处理
- 最后,它将重定向到基本 URL,并将会话中的数据作为查询字符串参数
主要设置/设置
以下设置应在 init()
之前设置。
会话名称
名称用作会话键的一部分。
$pm->setName('new_name');
名称应易于阅读,并描述列表的内容,同时也要适合作为数组键。并且上述提到的任何字符都将被替换为下划线 '_'
更改基本 URL
$om->setUrl('http://newurl.test/path')
将省略任何查询字符串。
更改基本数据源
$pm->setBase($somearray);
更多功能
添加/更改数据
$pm->add('newkey', 'newvalue'); // or $pm->add([ 'key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3' ]);
使用数组作为参数将合并数组与当前数据
排除数据
$pm->except('nothisone'); // or $pm->except(['notme', 'alsonotme']);
记住选项
数据也可以从 remember()
方法中覆盖。
$pm->remember([ 'shouldbeme' => 'yes' ]);
默认情况下,给定的参数将替换当前的基本数据。要添加它们,可以使用 PageMarker::OVERRIDE_APPEND
常量作为第二个参数。
$pm->remember([ 'letmejoin' => 'yes' ], PageMarker::OVERRIDE_APPEND);
手动忘记/重置
$pm->forget();
获取忘记/重置 URL
$pm->getResetUrl();
完整示例
require_once './vendor/autoload.php'; use Adods\PageMarker\PageMarker; $pm = new PageMarker; $pm->init(); $pm->remember(); var_dump($pm->getBase()); ?> <div> Base URL: <?php echo $pm->getUrl(); ?> </div> <a href="<?php echo $pm->getResetUrl(); ?>">Reset</a>
尝试向 URL 添加参数。每次访问基本 URL 时,它都会自动重定向到包含查询字符串参数的最后一个状态 URL。点击重置链接以清除所有保存的数据。