찾다
PHP 프레임워크YIIyii 프레임워크에서 라우팅을 정의하는 방법

yii 프레임워크에서 라우팅을 정의하는 방법

라우팅 및 URL 생성

YII 애플리케이션이 요청 처리를 시작할 때 가장 먼저 해야 할 일은 요청된 URL을 경로로 변환하는 것입니다. 라우팅의 역할은 요청을 처리하기 위해 해당 컨트롤러와 작업을 순차적으로 인스턴스화하는 것입니다. 전체 처리 프로세스를 라우팅이라고 합니다. ㅋㅋㅋ                        (추천 학습: yii 프레임워크 )

라우팅의 역과정을 URL 생성이라고 하는데, 이는 주어진 라우팅 및 매개변수 정보를 사용하여 URL을 생성하는 것을 의미합니다. 생성된 URL을 사용하여 요청을 하면 라우팅 처리 프로세스에서 이를 다시 구문 분석하고 원래 라우팅 및 매개변수 정보를 복원할 수 있습니다.

URL 관리자는 애플리케이션 구성 요소로 등록되는 라우팅 및 URL 생성을 주로 담당합니다. URL 관리자는 요청을 구문 분석하고 라우팅 및 매개변수 정보를 구문 분석하기 위해 구문 분석 요청() 메서드를 제공합니다.

createUrl() 메소드는 주어진 경로 및 매개변수 정보로부터 URL을 생성하는 데 사용됩니다. 애플리케이션 구성에서 URL 관리자를 구성하면 기존 프로그램 코드를 수정하지 않고도 애플리케이션이 모든 URL 형식을 인식할 수 있습니다. 예를 들어, 다음 코드를 사용하여 URL을 생성할 수 있습니다.

use yii\helpers\Url;
// Url::to() calls UrlManager::createUrl() to create a URL
$url = Url::to(['post/view', 'id' => 100]);

URL 관리자의 구성에 따라 위 코드로 생성된 URL은 다음과 같습니다. 이후에 이 URL이 요청되면 위의 원래 경로 및 매개변수 정보로 구문 분석됩니다.

/index.php?r=post/view&id=100
/index.php/post/100
/posts/100

URL 형식

URL 관리자는 기본 URL 형식과 예쁜 URL 형식의 두 가지 URL 형식을 지원합니다. 기본 URL 형식은 쿼리 매개변수 r을 사용하여 경로를 전달하고 다른 매개변수는 일반적인 방식으로 URL에 배치됩니다.

예를 들어 /index.php?r=post/view&id=100 URL의 경로는 post/view이고 매개변수 ID는 100입니다. 기본 URL 형식에는 URL 관리자 구성이 필요하지 않습니다.

아름다운 URL 형식은 항목 스크립트 이름 뒤에 추가 경로를 사용하여 경로 및 관련 매개변수를 표시합니다.

예를 들어 URL /index.php/post/100의 추가 경로는 /post/100이고 표시되는 경로는 post/view이며 매개변수 ID는 100입니다.

이 URL 형식을 사용하려면 실제 요구 사항에 따라 URL 규칙 집합을 설계해야 합니다. URL 관리자에서 활성화PrettyUrl 속성의 값을 수정하여 이 두 가지 URL 형식 간에 전환할 수 있습니다.

라우팅

라우팅 작업은 두 단계로 나눌 수 있습니다.

1. 요청에서 경로 및 관련 매개변수를 구문 분석합니다.

2. 요구 .

기본 URL 형식을 사용하는 경우 경로를 구문 분석하는 것은 매우 간단합니다. 매개변수 r의 값만 가져오면 됩니다.

예쁜 URL 형식을 사용하는 경우 URL 관리자는 URL 규칙 집합을 감지하고 관련 사항을 찾습니다. 요청 일치 경로에. 일치하는 규칙이 없으면 yiiwebNotFoundHttpException 예외가 발생합니다.

요청에서 경로가 해결되면 다음으로 해야 할 일은 해당 경로와 관련된 컨트롤러 작업을 만드는 것입니다. 경로는 여러 부분으로 슬래시로 잘립니다. 예를 들어 사이트/인덱스는 사이트와 인덱스로 잘립니다.

각 부분은 ID이며 모듈, 컨트롤러 또는 작업을 가리킬 수 있습니다. 경로의 첫 번째 부분부터 시작하여 모듈(있는 경우), 컨트롤러 및 작업을 생성하려면 다음 단계를 수행해야 합니다.

1 애플리케이션 본문을 현재 모듈로 설정합니다.

2. 현재 모듈의 yiibaseModule::controllerMap에 현재 ID가 포함되어 있는지 확인하세요. 그렇다면 테이블의 구성을 기반으로 컨트롤러 개체가 생성된 다음 5단계로 이동하여 경로의 후속 조각을 실행합니다.

3. ID가 현재 모듈의 yiibaseModule::modules 속성에 있는 모듈 목록에 있는 모듈을 가리키는지 확인하세요. 그렇다면 모듈 테이블의 구성을 기반으로 모듈 개체가 생성되고 새로 생성된 모듈은 다음 경로를 구문 분석하기 위해 2단계로 돌아가는 환경으로 사용됩니다.

4. ID를 컨트롤러 ID로 취급하고 컨트롤러 개체를 만듭니다. 다음 단계를 사용하여 경로의 나머지 조각을 구문 분석합니다.

5. 컨트롤러는 yiibaseController::actions()에서 현재 ID를 검색합니다. 발견되면 매핑 테이블의 구성을 기반으로 작업 개체를 생성하고, 그렇지 않으면 컨트롤러는 ID에 해당하고 작업 메서드에 의해 정의된 인라인 작업을 생성하려고 시도합니다.

위 단계에서 오류가 발생하면 애플리케이션에서 yiiwebNotFoundHttpException 예외가 발생합니다. 이는 라우팅 처리가 실패했음을 의미합니다.

위 내용은 yii 프레임워크에서 라우팅을 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
YII 행동 : 실제 예제 및 응용 프로그램YII 행동 : 실제 예제 및 응용 프로그램Apr 19, 2025 am 12:03 AM

YII 프레임 워크는 모든 크기의 웹 애플리케이션을 개발하는 데 적합하며 장점은 고성능 및 풍부한 기능 세트에 있습니다. 1) YII는 MVC 아키텍처를 채택하며 핵심 구성 요소에는 ActiveRecord, Widget 및 GII 도구가 포함됩니다. 2) 요청 처리 프로세스를 통해 YII는 HTTP 요청을 효율적으로 처리합니다. 3) 기본 사용법은 컨트롤러와 뷰를 만드는 간단한 예를 보여줍니다. 4) Advanced Usage는 ActiveRecord를 통한 데이터베이스 작업의 유연성을 보여줍니다. 5) 디버깅 기술에는 디버그 도구 모음 및 로깅 시스템 사용이 포함됩니다. 6) 성능 최적화 캐시 및 데이터베이스 쿼리 최적화를 사용하고 코딩 사양 및 종속성 주입을 따라 코드 품질을 향상시키는 것이 좋습니다.

YII2에서 오류 프롬프트를 표시하는 방법YII2에서 오류 프롬프트를 표시하는 방법Apr 18, 2025 pm 11:09 PM

YII2에는 오류 프롬프트를 표시하는 두 가지 주요 방법이 있습니다. 하나는 yii :: $ app- & amp; gt; errorhandler- & amp; gt; exception ()을 사용하여 예외가 발생할 때 오류를 자동으로 잡고 표시하는 것입니다. 다른 하나는 $ this- & amp; gt; adderror ()를 사용하는 것인데, 이는 모델 유효성 검사가 실패 할 때 오류가 표시되며 $ model- & amp; gt; getErrors ()를 통해 뷰에서 액세스 할 수 있습니다. 보기에서 if ($ errors = $ model- & amp; gt; getErrors ())를 사용할 수 있습니다.

YI2와 TP5의 차이점은 무엇입니까?YI2와 TP5의 차이점은 무엇입니까?Apr 18, 2025 pm 11:06 PM

PHP 프레임 워크 기술의 지속적인 개발로 YI2와 TP5는 두 가지 주류 프레임 워크로서 많은 관심을 끌었습니다. 그들은 뛰어난 성능, 풍부한 기능 및 견고성으로 유명하지만 몇 가지 차이점과 장점과 단점이 있습니다. 이러한 차이를 이해하는 것은 개발자가 프레임 워크를 선택하는 데 중요합니다.

YI 프레임 워크에 어떤 소프트웨어가 더 좋습니까? YI 프레임 워크에 권장되는 소프트웨어YI 프레임 워크에 어떤 소프트웨어가 더 좋습니까? YI 프레임 워크에 권장되는 소프트웨어Apr 18, 2025 pm 11:03 PM

기사의 첫 번째 단락의 초록 : Yi 프레임 워크 응용 프로그램을 개발하기위한 소프트웨어를 선택할 때 여러 가지 요소를 고려해야합니다. Xcode 및 Android Studio와 같은 기본 모바일 애플리케이션 개발 도구는 강력한 제어 및 유연성을 제공 할 수 있지만 React Native 및 Flut 모바일 개발에 새로운 개발자의 경우 AppSheet 및 Glide와 같은 저 코드 또는 노 코드 플랫폼이 응용 프로그램을 빠르고 쉽게 구축 할 수 있습니다. 또한 AWS Amplify 및 Firebase와 같은 클라우드 서비스 제공 업체는 포괄적 인 도구를 제공합니다.

YI2의 속도를 제한하는 방법YI2의 속도를 제한하는 방법Apr 18, 2025 pm 11:00 PM

YI2 속도 제한 안내서는 사용자에게 YI2 애플리케이션에서 데이터 전송 속도를 제어하는 ​​방법에 대한 포괄적 인 안내서를 제공합니다. 속도 제한을 구현함으로써 사용자는 애플리케이션 성능을 최적화하고 과도한 대역폭 소비를 방지하며 안정적이고 안정적인 연결을 보장 할 수 있습니다. 이 안내서는 사용자의 다양한 요구를 충족시키기 위해 다양한 플랫폼과 시나리오를 포함하여 YI2의 속도 제한 설정을 구성하는 방법을 단계별로 소개합니다.

YII 프레임 워크 란 무엇입니까? YII 프레임 워크 사용 방법에 대한 튜토리얼YII 프레임 워크 란 무엇입니까? YII 프레임 워크 사용 방법에 대한 튜토리얼Apr 18, 2025 pm 10:57 PM

기사 요약 : YII 프레임 워크는 동적이고 확장 가능한 웹 애플리케이션을 생성하기위한 효율적이고 유연한 PHP 프레임 워크입니다. 고성능, 가볍고 사용하기 쉬운 기능으로 유명합니다. 이 기사는 YII 프레임 워크에 대한 포괄적 인 자습서를 제공하여 설치에서 구성, 응용 프로그램 개발에 이르기까지 모든 것을 다룹니다. 이 안내서는 초보자와 숙련 된 개발자가 YII의 힘을 활용하여 신뢰할 수 있고 유지 관리 가능한 웹 솔루션을 구축 할 수 있도록 설계되었습니다.

공개 기능을 호출하는 방법에 대한 최신 튜토리얼공개 기능을 호출하는 방법에 대한 최신 튜토리얼Apr 18, 2025 pm 10:54 PM

이 기사는 Easy Language (YI) 언어로 구현되는 공개 기능을 부르는 최신 자습서를 소개합니다. 초보자의 경우, 어리석은 프로그래밍 언어는 쉽게 배우기 쉽고이 기사는 사용자가 YI 응용 프로그램에서 공개 기능을 호출하는 방법을 마스터하는 데 도움이되는 세부적인 단계별 안내서를 제공합니다. 이 튜토리얼을 따르면 사용자는 공통 기능을 정의,로드 및 호출하는 방법을 배우고 코드 재사용 성과 유연성을 향상시킵니다.

YII2 란 무엇입니까? YII2의 장점과 단점은 무엇입니까?YII2 란 무엇입니까? YII2의 장점과 단점은 무엇입니까?Apr 18, 2025 pm 10:51 PM

YII2는 개발자들에 의해 널리 찬사를받은 강력한 PHP 프레임 워크입니다. 고성능, 확장 성 및 사용자 친화적 인 인터페이스를 통해 크고 복잡한 웹 애플리케이션을 구축하는 데 이상적입니다. 그러나 모든 프레임 워크와 마찬가지로 YII2에는 고려해야 할 몇 가지 장점과 단점이 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경