Heim >Backend-Entwicklung >PHP-Tutorial >Joomla-Tipp: Verwenden Sie die Klasse Joomla\Uri\Uri, um eine URL zu erstellen.

Joomla-Tipp: Verwenden Sie die Klasse Joomla\Uri\Uri, um eine URL zu erstellen.

Patricia Arquette
Patricia ArquetteOriginal
2025-01-16 20:17:10337Durchsuche

Joomla tip: Use the JoomlaUriUri class to create a URL.

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.'&param1='.$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.

Beispiel: Bestimmte Parameter von der URL abrufen

<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.

So erstellen Sie die erforderliche URL im Joomla-Code

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>

Joomla-Community-Ressourcen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn