코드에서 URL을 작성할 때 문자열 연결을 사용하여 모든 문자열을 수집할 수 있습니다.
<code class="language-php">$url = $domain.'/index.php?option='.$option.'&view='.$view.'¶m1='.$value1;</code>
이 접근 방식은 짧은 문자열에도 편리합니다. 그러나 매개변수가 많거나 프로세스에서 표준화/정리해야 하는 경우에는 그다지 편리하고 직관적이지 않습니다. 예를 들어 URL의 일부에 선행 슬래시(URL 조각 시작 부분의 슬래시)가 포함될 수 있고 요청의 수신 도메인 이름도 슬래시로 끝날 수 있으므로 어딘가에 이중 슬래시가 있는 잘못된 URL이 표시됩니다. 중간에……
URL 검색 작업을 표준화하고 통합하기 위해 Joomla는 JoomlaUriUri 클래스를 제공합니다. Joomla 1.6 이하에서는 JUri라고 불렀습니다. 이 클래스는 RFC3986 표준에 따라 URL을 처리하고 다양한 부분에서 URL을 구문 분석하거나 조합하는 일을 담당합니다.
<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>
네, 네이티브 PHP 함수가 있다고 말할 수도 있습니다. parse_url
... 하지만 Uri 클래스는 키릴 도메인 이름을 포함하여 URL의 UTF-8 문자에 대한 안전한 작업을 보장합니다. 다양한 수표를 직접 작성하지 않으려면 Joomla 핵심 기능을 사용할 수 있습니다.
여기서도 매우 간단합니다.
<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>
Joomla의 Uri 클래스 계층 구조는 Getter 메소드가 AbstractUri 클래스에 위치하고 Setter 메소드가 Uri 클래스에 위치하도록 설계되었습니다. libraries/vendor/joomla/uri/src/Uri.php 파일에서 setter 메소드를 볼 수 있습니다. libraries/vendor/joomla/uri/src/AbstractUri.php 파일에서 getter 메소드를 볼 수 있습니다.
PHPStorm을 사용하면 Joomla를 완전히 이해하고 필요한 모든 것을 알려줄 것입니다.
여전히 적용 가능하고 네임스페이스 사용에 맞게 조정된 이전 문서 페이지를 참조할 수 있습니다.
우리 구조:
<code> foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment</code>
위 내용은 Joomla 팁: Joomla\Uri\Uri 클래스를 사용하여 URL을 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!