sergeykoz/purl
Composer 安装命令:
composer require sergeykoz/purl
包简介
URL Manipulation
关键字:
README 文档
README
Purl is a simple Object Oriented URL manipulation library for PHP 7.2+
Installation
The suggested installation method is via composer:
composer require jwage/purl
Using Purl
Creating Url instances is easy. You can specify the URL you want, or just use the current URL:
use Purl\Url; $url = new Url('http://jwage.com'); $currentUrl = Url::fromCurrent();
You can chain methods together after creating the Url like this:
$url = (new Url('http://jwage.com')) ->set('scheme', 'https') ->set('port', '443') ->set('user', 'jwage') ->set('pass', 'password') ->set('path', 'about/me') ->set('query', 'param1=value1¶m2=value2') ->set('fragment', 'about/me?param1=value1¶m2=value2'); echo $url->getUrl(); // https://jwage:password@jwage.com:443/about/me?param1=value1¶m2=value2#about/me?param1=value1¶m2=value2 // $url->path becomes instanceof Purl\Path // $url->query becomes instanceof Purl\Query // $url->fragment becomes instanceof Purl\Fragment
Path Manipulation
$url = new Url('http://jwage.com'); // add path segments one at a time $url->path->add('about')->add('me'); // set the path data from a string $url->path = 'about/me/another_segment'; // $url->path becomes instanceof Purl\Path // get the path segments print_r($url->path->getData()); // array('about', 'me', 'another_segment')
Query Manipulation
$url = new Url('http://jwage.com'); $url->query->set('param1', 'value1'); $url->query->set('param2', 'value2'); echo $url->query; // param1=value1¶m2=value2 echo $url; // http://jwage.com?param1=value1¶m2=value2 // set the query data from an array $url->query->setData([ 'param1' => 'value1', 'param2' => 'value2' ]); // set the query data from a string $url->query = 'param1=value1¶m2=value2'; // $url->query becomes instanceof Purl\Query print_r($url->query->getData()); //array('param1' => 'value1', 'param2' => 'value2')
Fragment Manipulation
$url = new Url('http://jwage.com'); $url->fragment = 'about/me?param1=value1¶m2=value2'; // $url->fragment becomes instanceof Purl\Fragment
A Fragment is made of a path and a query and comes after the hashmark (#).
echo $url->fragment->path; // about/me echo $url->fragment->query; // param1=value1¶m2=value2 echo $url; // http://jwage.com#about/me?param1=value1¶m2=value2
Extract URLs
You can easily extract urls from a string of text using the extract method:
$string = 'some text http://google.com http://jwage.com'; $urls = Url::extract($string); echo $urls[0]; // http://google.com/ echo $urls[1]; // http://jwage.com/
Join URLs
You can easily join two URLs together using Purl:
$url = new Url('http://jwage.com/about?param=value#fragment'); $url->join('http://about.me/jwage'); echo $url; // http://about.me/jwage?param=value#fragment
Or if you have another Url object already:
$url1 = new Url('http://jwage.com/about?param=value#fragment'); $url2 = new Url('http://about.me/jwage'); $url1->join($url2); echo $url1; // http://about.me/jwage?param=value#fragment
sergeykoz/purl 适用场景与选型建议
sergeykoz/purl 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 07 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「url」 「manipulation」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 sergeykoz/purl 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 sergeykoz/purl 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 sergeykoz/purl 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
On-demand image manipulation service.
Laravel package for resized.co, the on-demand image manipulation service.
Manipulate images in pure PHP
Easy URL rewrites in your Laravel application
A Laravel helper to detect if the current route/path is active.
Provides a service and twig extension for getting short urls like http://your.host/~short
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-07-01