资讯专栏INFORMATION COLUMN

[开源工具包] 页面 Get 参数管理器

LuDongWei / 3826人阅读

摘要:筛选条件参数管理器筛选参数管理器包主要用于页面资料列表,可以让我们优雅灵活的生成筛选链接。准备工作请在文件中找到名为的,然后为的服务提供器。四川联动删除条件

筛选条件 (参数) 管理器 for Laravel 5

筛选参数管理器包主要用于页面资料列表,可以让我们优雅灵活的生成筛选链接。
这个页面就使用了该包:kiteme.cn/list

项目Github地址:https://github.com/toplan/FilterManager
欢迎issue 和 star :)

安装

</>复制代码

  1. php{
  2. "require": {
  3. // ...
  4. "toplan/filter-manager": "dev-master",
  5. }
  6. }
打开姿势

请先通过第一步(准备工作)完成服务提供器的注册。

1. 准备工作

请在 config/app.php 文件中找到名为 providers 的key ,然后为FilterManager的服务提供器。

</>复制代码

  1. php"providers" => array(
  2. // ...
  3. "ToplanFilterManagerFilterManagerServiceProvider",
  4. )

然后请在 config/app.php 文件中找到名为 aliases 的key , 然后为FilterManger添加别名。

</>复制代码

  1. php"aliases" => array(
  2. // ...
  3. "FilterManager" => "ToplanFilterManagerFacadesFilterManager",
  4. )
2. Then, just enjoy it!

</>复制代码

  1. html

更多的详细用法参见: demo_temp_for_laravel.blade.php

常用方法

基本上所有常用用法都在该文件中: demo_temp_for_laravel.blade.php

1. 获得FilterManager对象

</>复制代码

  1. create($filters,$baseUrl,$blackList);

$filters: 参数数组,例:["gender"=>"male","city"=>"beijing"]

$baseUrl: 可以根据自己情况进行设置, 如果设置了完整的服务器名和路径,则返回的是url

$blackList: 筛选条件/参数黑名单, 例:["pageindex"].

2. 设置筛选条件黑名单

可以在每次生成uri/url的时候过滤掉你不想要的筛选条件/参数(比如分页参数等)

</>复制代码

  1. phpFilterManager::setBlackList(["page","pageindex"]);
3. 是否有指定筛选条件

如果有指定条件,会返回该过滤添加的值,否则返回false

</>复制代码

  1. phpFilterManager::has("gender");
4. 指定的筛选条件是否包含指点值

isActive($filter_name, $filter_value, $trueReturn, $falseReturn)

</>复制代码

  1. phpFilterManager::isActive("gender","male");#将会返回truefalse;
  2. FilterManager::isActive("gender","male","active","not active");#将会返回 "active""not active";
5. 生成 uri/url

</>复制代码

  1. url($filter_name,$filter_value,$multi,$LinkageRemoveFilters,$blackList)

参数介绍:

$filter_name: 筛选条件/参数

$filter_value: 筛选条件/参数的值, 默认值为:ToplanFilterManagerFilterManager::ALL , 表示为所有

$multi: 是否支持多个参数值? true 为支持, 默认为false

$LinkageRemoveFilters: 需要联动删除的筛选条件/参数

$blackList: 临时黑名单,可以临时覆盖默认的黑名单。

</>复制代码

  1. phpFilterManager::url("gender",ToplanFilterManagerFilterManager::ALL);//将会删除gender参数
  2. FilterManager::url("gender","male",false);//gender只能有一个值
  3. FilterManager::url("cities","成都",true);#
  4. FilterManager::url("cities","绵阳",true);#支持cities有多个值
  5. //一个省有多个城市,如果要取消选中‘省’这个条件,那么我们还可以通过第四个参数设置联动取消‘市’以及更多你想取消的筛选条件。
  6. FilterManager::url("province","四川",false,["cities"]);//联动删除cities条件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30251.html

相关文章

  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    galaxy_robot 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    Scorpion 评论0 收藏0
  • 接口测试常见问题

    摘要:同时我们也可以使用控件来实现小型的接口自动化来提高接口测试效率。接口测试的流程首先我们要了解需求,熟悉业务场景然后根据需求文档,接口文档以及业务场景来编写测试用例。 ...

    edgardeng 评论0 收藏0

发表评论

0条评论

LuDongWei

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<