>  기사  >  개발 도구  >  작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

藏色散人
藏色散人앞으로
2020-07-10 14:10:063899검색

다음 튜토리얼 칼럼인 composer에서는 작곡가를 사용하여 루트 로딩을 구현하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

이 튜토리얼의 샘플 코드는 https://github.com/johnlui/My-First-Framework-based-on-Composer

에서 찾을 수 있습니다. CodeIgniter 프레임워크는 많은 사람들이 사용하고 있습니다. PHP 개발을 위한 입문 프레임워크는 제가 웹사이트 구축 방법을 처음부터 배우기 시작한 프레임워크이기도 합니다. CI에서 많은 것을 배웠는데, 그 중 MVC에 대한 깊은 이해와 프레임워크의 본질에 대한 이해가 가장 큰 영향을 미쳤습니다. 개발 효율성을 높이기 위해 프레임워크를 사용한다는 관점에서 볼 때 프레임워크의 본질은 라우팅입니다.

https://github.com/NoahBuscher/Macaw를 권장하며, 해당 Composer 패키지는 noahbuscher/macaw입니다.

지금 설치를 시작하고, 작곡가.json을 변경하세요:

 "require": {
    "noahbuscher/macaw": "dev-master"
  },

작곡가 설치를 실행하고, 성공하면 다음 디렉터리를 얻게 됩니다.

작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

이 시점에서 Macaw 패키지가 성공적으로 설치되었습니다!

다음은 기적을 목격한 순간입니다! 우리는 MFFC에 생명을 불어넣고 실제로 운영되도록 하겠습니다!

1 //github.com/NoahBuscher/Macaw, HTTP 서비스 소프트웨어 유형에 따라 의사 정적을 설정하세요. 사실 이는 대부분의 프레임워크와 동일합니다: "모든 비정적 파일을 index.php로 지정".


구성 성공 후 도메인 이름에 액세스하세요. 작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.


페이지가 깨졌을 경우 인코딩을 UTF-8로 조정하세요. 위 페이지가 성공적으로 표시되면 축하합니다. 라우팅 구성에 성공했습니다! 작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

Macaw에는 파일이 하나 뿐이고, 제거된 빈 줄의 총 개수는 100줄이 조금 넘습니다. 코드를 통해 어떻게 작동하는지 직접 이해할 수 있습니다. 아래에서 간단히 분석해 보겠습니다.

Composer의 자동 로딩은 각 URL이 MFFC/public/index.php를 구동한 후 메모리의 파일 이름에 대한 전체 네임스페이스 클래스 이름 배열을 유지하므로 코드에서 이를 사용할 때 특정 클래스를 선택하면 해당 클래스가 포함된 파일이 자동으로 로드됩니다.
작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.

라우팅 파일에 Macaw 클래스를 로드했습니다: "use NoahBuscherMacawMacaw;" 그런 다음 정적 메서드::get()을 두 번 호출했습니다. 이 메서드는 존재하지 않으며 MFFC/vendor/codingbean/macaw/에서 사용됩니다. .php의 Macaw __callstatic()이 대신합니다.

  • 이 함수는 두 개의 매개변수를 허용합니다. method" role="presentation" style="position: relative;">

  • __callstatic() 做的事情也很简单,分别将目标URL(即 /fuck)、HTTP方法(即 GET)和回调代码压入 routes" role="presentation" style="position: relative;">routesmethods 和 $callbacks 三个 Macaw 类的静态成员变量(数组)中。

  • 路由文件最后一行的 Macaw::dispatch(); 方法才是真正处理当前 URL 的地方。能直接匹配到的会直接调用回调,不能直接匹配到的将利用正则进行匹配。

  • 위 내용은 작곡가를 사용하여 경로 로딩을 구현하는 방법을 가르칩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제