이 기사에서 편집자는 ThinkPHP 프레임워크에서 빈 작업 및 빈 컨트롤러를 처리하는 방법을 알려줄 것입니다. 소위 빈 작업 및 빈 컨트롤러는 간단히 말해서 시스템에 메서드나 컨트롤러가 존재하지 않음을 의미합니다. 그러면 시스템이 오류를 보고하게 됩니다. 관심있는 친구들이 와서 함께 알아보세요.
올바른 URL(테스트 환경): http://oa.com/index.php/admin/public/login 다음과 같이 접속합니다:
1: 연산 처리 없음
수정 방법 is loginw 보고된 오류는 다음과 같습니다.
시스템에는 기본적으로 오류 보고 메커니즘이 내장되어 있습니다. 1. 열악한 사용자 경험 2. 심각한 보안 위험.
상위 클래스 컨트롤러 파일인 Controller.class.php를 보고 다음 코드를 찾으세요.
호출된 메서드가 없지만 _empty() 메서드가 정의되어 있으면 _empty()가 실행됨) 또는 호출된 메서드와 동일한 이름의 템플릿 파일을 표시합니다. 알려지지 않은 모든 메소드에 대해 템플릿을 생성하는 것은 불가능하므로 여기서는 _empty() 메소드를 사용하여 빈 작업을 처리합니다. Controller Public에 _empty() 메소드를 다음과 같이 정의하세요.
실행 결과:
_empty() 메소드에 템플릿 파일을 추가하면 페이지를 더 아름답게 만들 수 있습니다. 이것은 단지 테스트일 뿐입니다. . 그러나 컨트롤러가 많을 때 각 컨트롤러에 _empty()를 정의하는 것은 합리적이지 않습니다. 이 때 상위 클래스 Controller.class.php에서 정의할 수 있으며 다음과 같이 모든 하위 클래스에서 사용할 수 있습니다.
그러나 일반적으로 상위 클래스 Controller.class.php의 코드는 수정되지 않습니다. 이는 하위 클래스와 상위 클래스 사이에 중간 컨트롤러를 추가하여 수행할 수 있습니다(자세한 내용은 다음 문서 참조).
2. 빈 컨트롤러 처리
컨트롤러 이름을 Publicu로 수정합니다. 오류는 다음과 같습니다.
App.class.php를 확인하면 다음 코드가 있습니다.
그래서 다른 빈 컨트롤러를 만들 수 있습니다. .class.php 컨트롤러에는 액세스된 컨트롤러가 없으면 이 컨트롤러에 액세스되는 _empty() 메서드가 내장되어 있습니다.
다음과 같이 페이지를 다시 방문하세요.
관련 튜토리얼: PHP 비디오 튜토리얼
위 내용은 ThinkPHP 프레임워크에서 널 연산과 널 컨트롤러를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!