markenwerk / url-util
2.0.7
2021-01-18 12:38 UTC
Requires
- php: >=5.3
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: >=4.8.26
README
这是一个提供常见URL实现的PHP库。
安装
{
"require": {
"chroma-x/url-util": "~2.0"
}
}
使用
自动加载和命名空间
require_once('path/to/vendor/autoload.php');
解析URL
use ChromaX\UrlUtil;
$url = new UrlUtil\Url('https://john:secret@mydomain.com:8443/path/to/resource?arg1=123&arg2=test#fragment');
$scheme = $url->getScheme();
fwrite(STDOUT, 'Scheme "' . $scheme . '"' . PHP_EOL);
$hostname = $url->getHostname();
fwrite(STDOUT, 'Hostname "' . $hostname . '"' . PHP_EOL);
$port = $url->getPort();
fwrite(STDOUT, 'Port "' . (string)$port . '"' . PHP_EOL);
$username = $url->getUsername();
fwrite(STDOUT, 'Username "' . $username . '"' . PHP_EOL);
$password = $url->getPassword();
fwrite(STDOUT, 'Password "' . $password . '"' . PHP_EOL);
$path = $url->getPath();
fwrite(STDOUT, 'Path "' . $path . '"' . PHP_EOL);
$queryParameters = $url->getQueryParameters();
foreach ($queryParameters as $queryParameter) {
fwrite(STDOUT, 'Query parameter "' . $queryParameter->getKey() . '" is "' . $queryParameter->getValue() . '"' . PHP_EOL);
}
$fragment = $url->getFragment();
fwrite(STDOUT, 'Fragment "' . $fragment . '"' . PHP_EOL);
$url
->setScheme('http')
->setHostname('yourdomain.com')
->setPort(8080)
->setUsername('doe')
->setPassword('supersecret')
->setPath('path/to/another/resource')
->removeQueryParameterByKey('arg2')
->addQueryParameter(new UrlUtil\QueryParameter('arg1', '456'))
->addQueryParameter(new UrlUtil\QueryParameter('arg3', 'test'))
->setFragment('target');
fwrite(STDOUT, 'URL "' . $url->buildUrl() . '"' . PHP_EOL);
将输出以下内容:
Scheme "https"
Hostname "mydomain.com"
Port "8443"
Username "john"
Password "secret"
Path "/path/to/resource"
Query parameter "arg1" is "123"
Query parameter "arg2" is "test"
Fragment "fragment"
URL "http://doe:supersecret@yourdomain.com:8080/path/to/another/resource?arg1=456&arg3=test#target"
贡献
对我们项目的贡献总是非常受欢迎。
但:请遵循在CONTRIBUTING.md文档中记录的贡献指南。
许可证
PHP URL Util遵循MIT许可证。