purl
v1.0.0
Purl ist eine einfache objektorientierte URL-Manipulationsbibliothek für PHP 7.2+
Die empfohlene Installationsmethode ist über Composer:
composer require jwage/purl
Das Erstellen von URL-Instanzen ist einfach. Sie können die gewünschte URL angeben oder einfach die aktuelle URL verwenden:
use Purl Url ;
$ url = new Url ( ' http://jwage.com ' );
$ currentUrl = Url:: fromCurrent ();
Sie können Methoden nach dem Erstellen der Url
wie folgt miteinander verketten:
$ 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
Ein Fragment besteht aus einem Pfad und einer Abfrage und kommt nach dem 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
Mit der extract
können Sie ganz einfach URLs aus einer Textzeichenfolge extrahieren:
$ 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/
Mit Purl können Sie ganz einfach zwei URLs zusammenfügen:
$ 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
Oder wenn Sie bereits ein anderes Url
-Objekt haben:
$ 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