Heim >Backend-Entwicklung >PHP-Tutorial >Joomla-Tipp: Verwenden Sie die Klasse Joomla\Uri\Uri, um eine URL zu erstellen.
Beim Erstellen von URLs im Code können Sie die Zeichenfolgenverkettung verwenden, um alle Zeichenfolgen zu sammeln:
<code class="language-php">$url = $domain.'/index.php?option='.$option.'&view='.$view.'¶m1='.$value1;</code>
Dieser Ansatz ist sogar für kurze Saiten praktisch. Allerdings ist es nicht so komfortabel und intuitiv, wenn viele Parameter vorhanden sind oder im Prozess standardisiert/bereinigt werden müssen. Beispielsweise könnte ein Teil der URL einen führenden Schrägstrich enthalten (den Schrägstrich am Anfang des URL-Fragments) und der eingehende Domänenname der Anfrage könnte ebenfalls mit einem Schrägstrich enden, sodass wir irgendwo eine fehlerhafte URL mit einem doppelten Schrägstrich erhalten in der Mitte ……
Um URL-Abrufaufgaben zu standardisieren und zu vereinheitlichen, stellt Joomla die Klasse JoomlaUriUri bereit. In Joomla 1.6 und früher hieß es JUri. Diese Klasse verarbeitet URLs gemäß dem RFC3986-Standard und ist für das Parsen oder Zusammensetzen von URLs aus ihren verschiedenen Teilen verantwortlich.
<code class="language-php">use Joomla\Uri\Uri; $url = 'https://web-tolk.ru/dev/biblioteki?param=value'; $uri = new Uri($url); // 此处输出'value' echo $uri->getVar('param');</code>
Man könnte sagen, ja, es gibt eine native PHP-Funktion parse_url
... aber die Uri-Klasse gewährleistet sichere Operationen mit UTF-8-Zeichen in URLs, einschließlich kyrillischer Domainnamen. Um zu vermeiden, dass Sie selbst verschiedene Schecks ausstellen müssen, können Sie die Kernfunktionalität von Joomla nutzen.
Auch hier ist es ganz einfach:
<code class="language-php">use Joomla\Uri\Uri; $uri = new Uri; $uri->setHost('web-tolk.ru'); $uri->setScheme('https'); // setPath()以前导斜杠开头 $uri->setPath('/dev/biblioteki'); // GET参数可以作为数组传递 $vars = [ 'param1' => 'value1', 'param2' => 'value2', 'param3' => 'value3', ]; $uri->setQuery($vars); // 将URL作为字符串输出 echo $uri->toString();</code>
Die hierarchische Struktur der Uri-Klasse in Joomla ist so konzipiert, dass sich die Getter-Methode in der AbstractUri-Klasse und die Setter-Methode in der Uri-Klasse befindet. Sie können die Setter-Methode in der Datei libraries/vendor/joomla/uri/src/Uri.php anzeigen. Sie können die Getter-Methode in der Datei libraries/vendor/joomla/uri/src/AbstractUri.php anzeigen.
Wenn Sie PHPStorm verwenden, versteht es Joomla vollständig und sagt Ihnen alles, was Sie brauchen.
Sie können auf die alte Dokumentationsseite verweisen, die weitgehend noch gültig ist und für die Verwendung von Namespaces angepasst wurde.
Uri-Struktur:
<code> foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment</code>
Das obige ist der detaillierte Inhalt vonJoomla-Tipp: Verwenden Sie die Klasse Joomla\Uri\Uri, um eine URL zu erstellen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!