nahid / url-factory
UrlFactory 是一个用于处理 URL 的 PHP 包
v1.0.0-a.1
2022-08-20 15:20 UTC
Requires
- php: >=8.0
- jeremykendall/php-domain-parser: dev-develop
- psr/http-client: 1.0.x-dev
- psr/http-factory: 1.0.x-dev
- psr/simple-cache: 3.0.x-dev
- spatie/url-signer: dev-main
Requires (Dev)
- symfony/var-dumper: 6.0.x-dev
This package is auto-updated.
Last update: 2024-09-21 10:02:13 UTC
README
UrlFactory 是一个用于处理 URL 的 PHP 包。它为你提供最佳的开发者体验来管理和操作 URL。UrlFactory 提供简单但强大的方式来处理查询字符串、路径和域名。
要求
-
php >= 8.0
-
ext-json
-
ext-intl
安装
UrlFactory 可在 Packagist 上找到。您可以通过运行以下命令在任何包中直接安装它
composer require nahid/url-factory
配置
运行此包不需要额外的配置,但通过传递配置,您可以更好地控制此包。
默认配置
// use Nahid\UrlFactory\Enum; [ Enum::CONFIG_KEY => 'secret-key', Enum::CONFIG_SIGNER => MD5UrlSigner::class, Enum::CONFIG_PSR_CACHE_INTERFACE => null, Enum::CONFIG_PSR_CLIENT_INTERFACE => null, Enum::CONFIG_PSR_REQUEST_FACTORY_INTERFACE => null, ]
您可以根据需要修改它,并在初始化时传递给 UrlFactory
语法
new Url([string $url, [array $config]]);
构造函数的参数都是可选的
初始化
use Nahid\UrlFactory\Url; use Nahid\UrlFactory\Enum; $url = new Url('http://app.staging.google.com.bd/private/search?q=bangladesh&page=1&limit=20', [ Enum::CONFIG_KEY => 'random-secret-key', ]);
我们使用
http://app.staging.google.com.bd/private/search?q=bangladesh&page=1&limit=20
作为我们的下一个示例
示例
URL 提取和获取
use Nahid\UrlFactory\Url; use Nahid\UrlFactory\Enum; $url = new Url('http://app.staging.google.com.bd/private/search?q=bangladesh&page=1&limit=20', [ Enum::CONFIG_KEY => 'random-secret-key', ]); echo $url->getScheme() . "\n"; echo $url->getQuery() . "\n"; var_dump($url->getQueryParam()) . "\n"; echo $url->getPath() . "\n"; echo $url->domain()->getSubdomain() . "\n"; echo $url->domain()->getSuffix() . "\n"; echo $url->domain()->getTld() . "\n";
输出
http q=bangladesh&page=1&limit=20 ['q' => 'bangladesh', 'page '=> 1, 'limit' => 20] private/search app.staging com.bd com
URL 修改
use Nahid\UrlFactory\Url; use Nahid\UrlFactory\Enum; $url = new Url('http://app.staging.google.com.bd/private/search?q=bangladesh&page=1&limit=20', [ Enum::CONFIG_KEY => 'random-secret-key', ]); $url->useSchemeHttps() ->usePath('query') ->useQueryParams(['search'=> 'dhaka']) ->useFragment('top') ->domain(function(\Nahid\UrlFactory\Domain $domain) { $domain->useBaseName('bing') ->useSuffix('co.in') ->useSubdomain('app'); }); echo $url->get()
输出
https://app.bing.co.in/query?search=dhaka#top
签名 URL
use Nahid\UrlFactory\Url; use Nahid\UrlFactory\Enum; $url = new Url('http://app.staging.google.com.bd/private/search?q=bangladesh&page=1&limit=20', [ Enum::CONFIG_KEY => 'random-secret-key', ]); $url->useSchemeHttps() ->usePath('query') ->useQueryParams(['search'=> 'dhaka']) ->useFragment('top') ->domain(function(\Nahid\UrlFactory\Domain $domain) { $domain->useBaseName('bing') ->useSuffix('co.in') ->useSubdomain('app'); }); echo $url->sign(7)->get(); // Generate signed URL with 7 days validity
输出
https://app.bing.co.in/query?search=dhaka&expires=1661613403&signature=5fd3f94c145731a085f6964cb3c4d03d#top
API 列表
此包中有许多可用的 API。我们将尽快更新它