salvobee/url-utilities

一组用于处理URL的简单工具

v0.0.1 2021-06-15 20:49 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:40 UTC


README

一组简单工具,用于更面向对象地抽象现有的php URL函数。

安装

composer require salvobee/url-utilities

使用

使用有效的URL作为构造函数的参数来创建解析器的实例。

use SalvoBee\UrlUtilities\Parser;

$url = new Parser('https://www.domain.com');

查询字符串操作

您可以操作给定URL的查询字符串参数,并返回一个新的URL。

use SalvoBee\UrlUtilities\Parser;

$url = new Parser('https://www.domain.com?arg1=value1&arg2=value2');

$url->manipulateParameter('arg1','new_value');
// returns 'https://www.domain.com?arg1=new_value&arg2=value2'

$url->addParameter('arg3', 'value3');
// returns 'https://www.domain.com?arg1=value1&arg2=value2&arg3=value3'

$url->removeParameter('arg1');
// returns 'https://www.domain.com?arg2=value2'

多值字段

⚠️支持操作包含多个值的字段仍在开发中,可能无法按预期工作,请随时提交PR ⚠️

use SalvoBee\UrlUtilities\Parser;

$url = new Parser('https://www.domain.com?arg[]=value1&arg[]=value2');

$url->manipulateMultipleValue('arg','value1','new_value1');
// should return 'https://www.domain.com?arg[]=new_value1&arg[]=value2'

$url->addMultipleValue('arg', 'value3');
// should return 'https://www.domain.com?arg[]=value1&arg[]=value2&arg[]=value3'

$url->removeMultipleValue('arg','value2');
// should return 'https://www.domain.com?arg[]=value1'

标准解析器

URL组件使用标准的php parse_url() 解析,因此如果需要,您可以使用getter访问它们。

use SalvoBee\UrlUtilities\Parser;

$url = new Parser('https://john_doe:secret@www.domain.com:9999/path/to/resource?foo=bar&bar=foo#anchor');

$url->getScheme();         // returns "https"
$url->getHost();           // returns "www.domain.com"
$url->getPort();           // returns "9999"
$url->getUsername();       // returns "john_doe"
$url->getPassword();       // returns "secret"
$url->getPath();           // returns "/path/to/resource"
$url->getQueryString();    // returns "foo=bar&bar=foo"
$url->getFragment();       // returns "anchor"