설치
여기에 사용할 데이터베이스 체계는 다음과 같습니다
-
우리는 정말 복잡한 것을 쓰지 않을 것입니다. 실제로, API 요청을 매우 기본적인 방식으로 모방하기 위해 일부 경로를 작성하는 것만으로도 충분합니다. 실제 API를 쓰고 싶다면 알아야 할 많은 개념이 있지만 오늘 우리는 단지 Phroute를 살펴보고 있습니다. .
참고 : array_slice 메소드의 두 번째 매개 변수는 개인 특정 프로젝트 설정으로 인해 "3"입니다. 기본 URL이 변경 될 때 변경하십시오 그 후, 우리는 RouteController 클래스의 인스턴스 인 객체 $ router를 사용하여 경로를 선언합니다. 그런 다음 매직은 $ dispatcher-> dispatch () 메소드에서 발생하며 두 가지 매개 변수, 즉 $ _server 요청 메소드 (get, post 등)와 특정 요청 URI를 취합니다. 이 정보를 사용하면 디스패처가 올바른 경로를 호출하고 폐쇄에서 코드를 실행합니다. 반환 값은 $ 응답 변수에 저장되며, 이는 JSON 문자열로 반영되는 메소드 프로세스 아우 티트 ()에 제공됩니다. 당신이 볼 수 있듯이,이 특정 예에서 우리는 단일 경로를 선언했습니다. 참고 : 원한다면 실제 구조를 향상시킬 수 있습니다. 새 파일을 만들고 loures.php를 호출하십시오. 그런 다음 $ router 객체 초기화 직후에 Main Index.php 파일에 포함시킵니다. 별도의 파일에 모든 경로가 있습니다. 내 생각에 더 우아한 솔루션. 즉, 당신은 이제 우리 예제의 기본 구조에 필요한 모든 것을 알고 있습니다. 첫 경로를 만들어 봅시다! 경로 간단한 경로 좋아요, 경로로 무엇을 할 수 있는지, 그리고 우리의 요구에 맞게 사용자 정의 할 수있는 양을 봅시다.
우리는 가장 간단한 것 : 저자 목록으로 시작하고 있습니다. 첫 번째 줄에서 우리는 경로 이름을 선언합니다. 경로를 테스트 해 봅시다 : 결과입니다 이제 우리는 한 걸음 앞으로 나아갈 수 있습니다 : 신분증을 감안할 때, 매개 변수를 추가하고, 싱글 저자의 세부 정보를 얻기 위해? . <:> 그런 것 :
{variable_name} 자리 표시자를 사용하여 매개 변수를 전달할 수 있으며, 클로저의 매개 변수와 동일한 선택된 이름과 동일합니다. 이 예에는 $ ID 매개 변수에 해당하는 {id} 자리 표시자가 있습니다. 원하는 매개 변수를 지정할 수 있습니다 : 제한 없음.때때로 매개 변수는 선택 사항이 될 수 있습니다. 또 다른 예를 들어 봅시다 : 책 URL을 사용하면 모든 데이터베이스 책의 목록을 검색하려고합니다. 그러나 Books/1과 같은 ID를 지정하면 주어진 카테고리의 책 목록을 얻을 것입니다. <:> 여기 우리는 간다 : 지금까지 우리는 경로 만 만들었습니다. 다른 HTTP 동사는 어떻습니까? 문제 없습니다. 여기를 살펴보십시오 : 포스트 경로를 예로 들어 봅시다. 이제 우리 컬렉션에 새 책을 추가 할 시간입니다! 책 데이터로 채울 양식이 있다고 상상해 봅시다 : 액션 속성은 지금 우리가 만든 책 경로를 가리킬 것입니다! 이제 우리는 또 다른 한 걸음을 내딛을 것입니다 : 이제 우리의 경로를“보호”할 시간입니다! 필터 실제로, Post Route에 들어가는 모든 사람은 우리 컬렉션에 새 책을 삽입 할 수 있습니다. 멋지지만 이것은 보통 사물이 아닙니다. 경로를 보호하고 싶다면 어떻게해야합니까? 필터는 우리에게 필요한 것입니다. 필터는 경로와 매우 유사합니다. 필터가 어딘가에 호출 될 때 실행되는 이름과 관련 폐쇄가 있습니다. 그래서 차이점은 무엇입니까? 필터는 경로 전에 (또는 후에) 쉽게 호출 할 수 있습니다.
필터
우선, 우리는 $ router 객체의 필터 () 메소드로 필터를 선언했습니다. 구문은 경로와 동일합니다. 우리는 적절한 시간에 실행될 이름과 폐쇄를 제공하고 있습니다.예를 들어 봅시다 : Ok,하지만“적절한 시간”은 무엇입니까? 우리는 지금 그것을 결정하고 있습니다 : 우리는 post () 메소드에 세 번째 매개 변수를 추가했습니다. 이 세 번째 매개 변수는 배열로 필터 이름 (logged_in)으로 키를 지정합니다. 이 순간부터 책 포스트 루트에 대한 모든 단일 호출 전에 logged_in 필터 (및 폐쇄 내용을 실행)도 호출됩니다. 이 특정 경우 사용자가 로그인되어 있는지 확인하기 위해 user_id 변수를 확인하고 있습니다. 경로 호출 직후 필터를 실행하는 데 사용되는 후 키도 있습니다. 예는 다음과 같습니다. 단일 문자열 대신 문자열 배열을 사용하기 만하면됩니다.
필터 그룹 실제 사례를 상상해 봅시다. logged_in 필터를 세 번 추가하는 것은 지루할 것입니다.
걱정하지 마세요 : 필터 그룹이 도움을주기 위해 여기에 있습니다. 참고 : 필요한 경우 다른 그룹으로 그룹으로 그룹을 둥지로 둥지를 틀 수도 있습니다. 성장 프로젝트? 컨트롤러를 사용할 시간! 우리의 프로젝트가 성장하고 있으며 단일 파일로 코드 기반을 구성하고 있습니다. 컨트롤러를 사용하는 것은 어떻습니까? 예 : Phroute는 단지 경로에 관한 것이 아닙니다. 일이 열리면 조직을 정리할 시간입니다. { "require": { "phroute/phroute": "1.*" } }
우선, 컨트롤러의 구조가 어떤지 보자. 이 예제를 살펴보십시오 (우리는 그것을 loures.php 파일에 넣을 수 있습니다) : .우리는 저자 클래스를 만들었습니다. 이 클래스에서는 두 가지 방법을 getIndex ()와 postAdd ()를 넣습니다. 그런 다음 $ router 객체의 컨트롤러 () 메소드를 사용하여 저자 URL을 저자 클래스에 연결합니다. 따라서 브라우저에서 URL 저자를 입력하면 getIndex () 메소드가 자동으로 호출됩니다. PostAdd () 메소드에 대해서도 동일하게 표시되며, 저자/add (post) url에 바인딩됩니다. 이 자동 해결 이름 기능은 매우 흥미롭지 만 실제로는 충분하지 않습니다. 컨트롤러 부분은 개발 초기 단계에 있으며 많은 개선이 필요합니다. 그중 하나는 컨트롤러 방법에 대한 매개 변수를 정의 할 수 있다는 것입니다. 또는 컨트롤러의 일부 방법에 대한 필터를 정의하는 쉬운 방법 ( "전부 또는 아무것도"가 아님). 결론
반면에, Phroute에는 정말 빠른 라우터가 제공됩니다. 프로젝트의 GitHub 페이지에서 Laravel의 핵심 라우터와 비교하는 데 대한 몇 가지 통계를 볼 수 있습니다. 결과는 놀랍습니다. 최악의 시나리오에서 Phroute는 약 40 배 더 빠릅니다.특히 컨트롤러쪽에는해야 할 일이 많이 있습니다. 개발자로서, 나는 모든 더러운 작업 (필터, 메소드 매개 변수 등)을 처리하기 위해 일반적인 기본 컨트롤러 클래스를 갖는 것이 좋을 것이라고 생각합니다. 문서도 부족합니다. 이 라우터 뒤에있는 "엔진"에 대한 구체적인 세부 정보를 알고 싶다면 Github의 Nikic 페이지를 방문하여 테스트, 벤치 마크 및 관련 결과로 모든 것을 설명 할 수 있습니다. .
당신은 Phroute를 시도 할 것입니까? 당신이 그것에 대해 어떻게 생각하는지 알려주세요! phroute 를 사용한 빠른 PHP 라우팅에 대한 자주 묻는 질문 (FAQ) Phroute 란 무엇이며 PHP 라우팅에서 중요한 이유는 무엇입니까? 내 PHP 응용 프로그램에 Phroute를 설치하는 방법은 무엇입니까?
Phroute를 쉽게 설치할 수 있습니다. Composer를 사용한 PHP 응용 프로그램, PHP 용 종속성 관리 도구. 공식 웹 사이트의 지침에 따라 작곡가를 설치할 수 있습니다. 작곡가가 설치되면 터미널에서 다음 명령을 실행하여 Phroute를 설치할 수 있습니다. 작곡가는 Phroute/Phroute가 필요합니다. 응용 프로그램에서 phroute를 다운로드하여 설치합니다.phroute를 사용하여 경로를 정의하는 방법은 무엇입니까?
phroute를 사용하여 경로를 정의하는 것은 간단합니다. 먼저 PhrouterOuteCollector 클래스의 인스턴스를 만들어야합니다. 그런 다음이 클래스의 경로 방법을 사용하여 경로를 정의 할 수 있습니다. 경로 메소드는 HTTP 메소드 (Get, Post 등), URL 패턴 및 핸들러 함수 또는 메소드의 세 가지 매개 변수를 취합니다. 예는 다음과 같습니다.$ router = new phrouterouteCollector (); $ router-> route ( 'get', '/user/{id}', function ($ id) {
return "사용자 ID : $ id";});
Phroute를 사용하여 경로 매개 변수를 처리하는 방법? 경로 매개 변수는 변할 수있는 URL의 일부입니다. Phroute에서는 경로를 정의 할 때 URL 패턴에 포함하여 경로 매개 변수를 정의 할 수 있습니다. 경로 매개 변수는 Curly Braces {}에 둘러싸여 있습니다. 경로가 일치하면 경로 매개 변수의 값이 핸들러 함수 또는 메소드로 인수로 전달됩니다. 예는 다음과 같습니다.
$ router = new phrouterouteCollector (); $ router-> route ( 'get', '/user/{id}', function ($ id) {return "사용자 ID : $ id";
Phroute와 함께 필터를 어떻게 사용합니까?
필터는 Phroute입니다. 경로 전후에 실행되는 기능 또는 방법이 일치합니다. 인증 또는 입력 유효성 검사와 같은 작업을 수행하는 데 사용할 수 있습니다. PhrouterouteCollector 클래스의 필터 메소드를 사용하여 필터를 정의 할 수 있으며 전과 후 방법을 사용하여 경로에 적용 할 수 있습니다. 예는 다음과 같습니다.
$ router = new phrouterouteCollector (); $ router-> filter ( 'augl', function () { if (! isset [ 'user'] ))) {> return false; } $ router-> rout ( 'get', '/dashboard', [ 'dashboardcontroller', 'show'])-> prever ( 'auth');phroute를 사용하여 404 오류를 처리하는 방법?
Phroute는 404 오류를 처리하는 간단한 방법을 제공합니다. 경로가 요청 된 URL과 일치 할 때 발생합니다. PhrouterouteCollector 클래스의 NotFound 메소드를 사용하여 404 핸들러를 정의 할 수 있습니다. 404 핸들러는 404 오류가 발생할 때 호출되는 기능 또는 방법입니다. 예는 다음과 같습니다.
다른 PHP와 함께 phroute를 사용할 수 있습니까? 프레임 워크?
$ router = new phrouterouteCollector ();
$ router-> notFound (function () {
return '404- 페이지를 찾을 수 없음';
Phroute와 함께 경로를 어떻게 파견합니까?
일단 경로를 정의한 후에는 Phrouteroutedispatcher 클래스. 이 클래스의 디스패치 방법은 HTTP 메소드와 URL을 매개 변수로 가져 와서 일치하는 경로의 처리기 기능 또는 메소드의 결과를 반환합니다. 예는 다음과 같습니다.
$ dispatcher = new phrouterouteDispatcher ($ router-> getData ()); $ response = $ dispatcher-> dispatch ($ _ server [ 'request_method'], $ _server [ 'request_uri ']); echo $ response;
예, 다른 PHP 프레임 워크와 함께 Phroute를 사용할 수 있습니다. Phroute는 독립형 라이브러리로 특정 프레임 워크에 의존하지 않음을 의미합니다. 사용중인 프레임 워크에 관계없이 모든 PHP 응용 프로그램에서 사용할 수 있습니다. 그러나 프레임 워크의 라우팅 시스템으로 작업하려면 코드를 조정해야 할 수도 있습니다.
phroute에서 경로를 디버그하는 방법은 무엇입니까? $ router = new phrouterouteCollector (); $ router-> route ( 'get', '/user/{id}', function ($ id) {
try { $ dispatcher = new phrouteroutedispatcher ($ router-> getData ()); $ dispatcher-> dispatch ($ _ server [ 'request_method'], $ _server [ 'request_uri']);
return "사용자 ID : $ id"; });
print_r ($ router-> debug ());
어떻게 처리합니까? Phroute의 예외?
Phroute의 예외는 Try-Catch 블록으로 디스패치 코드를 래핑하여 처리 할 수 있습니다. 디스패치 과정에서 예외가 발생하면이를 잡아서 적절하게 처리 할 수 있습니다. 예는 다음과 같습니다.echo $ response;
} catch (예외 $ e) { echo '오류가 발생했습니다 :'. $ e-> getMessage ();}
위 내용은 Phroute를 사용한 빠른 PHP 라우팅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Dreamweaver Mac版
시각적 웹 개발 도구
