fabgg/url-search-params

库实现了UrlSearchParams,灵感来源于JavaScript中同名的类

1.1 2022-09-15 15:33 UTC

This package is auto-updated.

Last update: 2024-09-09 18:59:04 UTC


README

这是一个由JavaScript的URLSearchParams类启发的PHP库。

安装

也可以使用 composer 安装。

$ composer require fabgg/url-search-params

此库遵循PSR-4约定命名其类,这意味着你可以轻松地将url-search-params类加载到自己的自动加载器中。

入门指南

使用此库的基本示例

<?php

// Include dependencies installed with composer
require 'vendor/autoload.php';

use Fabgg\UrlSearchParams\URLSearchParams;

$search = new URLSearchParams('?q=github');
$search->merge(['user'=>'fabrice'])
echo $search->toString();

结果将渲染以下字符串:?q=github&user=fabrice

用法

直接使用URLSearchParams。您可以从字符串或数组创建URLSearchParams的新实例。

<?php
$search = new URLSearchParams('?q=github+web+site&u=yan');
// equivalent to:
$search = new URLSearchParams(['q' => 'github web site', 'u' => 'yan']);

追加

$search= new URLSearchParams();
// array
search->append(["id"=> 1]);

追加到

$search = new URLSearchParams();
// key and value
$search->appendTp("id"=> 1);
// value can be an array
$search->appendTp("id"=> [3,5,7]);
echo (string)$search;
// result is `?id=1&id=3&id=5&id=7`

删除

$search.delete("id");

获取

$search.get("id");
// return an array [1, 3, 5, 7]

获取所有

$search = new URLSearchParams('?q=github&u=yan');
// all query parameters are
$search.getAll();
// return ['q' => ['github'], 'u' => ['yan']]
$search.getAll("q");
// return ['q' => ['github']] like $search->get('q')

存在

$search.has("id");

合并

$search = new URLSearchParams('?q=vegetable&flavour=sweet');
$search->merge('?q=fruits');
echo $search->toString();
// return '?q=vegetable&q=fruits&flavour=sweet'
$search->merge(['flavour' => 'bitter','color'=>'red tomato']);
echo $search->toString();
// return '?q=vegetable&q=fruits&flavour=sweet&flavour=bitter&color=red+tomato'

转换为字符串

$search.toString();
// or call __toString()
(string)$search;

$search = new URLSearchParams('?q=github&u=yan');
$search->keys();
// return ['q','u']

许可证

MIT许可证