salvobee/url-utilities
一组用于处理URL的简单工具
v0.0.1
2021-06-15 20:49 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5
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"