purl
v1.0.0
Purl은 PHP 7.2 이상을 위한 간단한 객체 지향 URL 조작 라이브러리입니다.
제안된 설치 방법은 작곡가를 통한 것입니다:
composer require jwage/purl
Url 인스턴스를 만드는 것은 쉽습니다. 원하는 URL을 지정하거나 현재 URL을 사용할 수 있습니다.
use Purl Url ;
$ url = new Url ( ' http://jwage.com ' );
$ currentUrl = Url:: fromCurrent ();
다음과 같이 Url
생성한 후 메소드를 함께 연결할 수 있습니다.
$ 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:[email protected]:443/about/me?param1=value1¶m2=value2#about/me?param1=value1¶m2=value2
// $url->path becomes instanceof PurlPath
// $url->query becomes instanceof PurlQuery
// $url->fragment becomes instanceof PurlFragment
$ 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 PurlPath
// get the path segments
print_r ( $ url -> path -> getData ()); // array('about', 'me', 'another_segment')
$ 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 PurlQuery
print_r ( $ url -> query -> getData ()); //array('param1' => 'value1', 'param2' => 'value2')
$ url = new Url ( ' http://jwage.com ' );
$ url -> fragment = ' about/me?param1=value1¶m2=value2 ' ; // $url->fragment becomes instanceof PurlFragment
조각은 경로와 쿼리로 구성되며 해시마크(#) 뒤에 옵니다.
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
메소드를 사용하면 텍스트 문자열에서 URL을 쉽게 추출할 수 있습니다.
$ 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/
Purl을 사용하면 두 개의 URL을 쉽게 결합할 수 있습니다.
$ 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
또는 이미 다른 Url
개체가 있는 경우:
$ 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