>백엔드 개발 >PHP 튜토리얼 >ThinkPHP3.2가 컨트롤러를 로드할 수 없습니다

ThinkPHP3.2가 컨트롤러를 로드할 수 없습니다

不言
不言원래의
2018-05-02 13:41:483918검색

이 글은 주로 ThinkPHP3.2가 컨트롤러를 로드할 수 없는 문제를 소개합니다. 이제 특정 참조 값을 가지고 있습니다. 필요한 친구들이 참조할 수 있습니다.

컨트롤러를 로드할 수 없습니다.

오류 위치

파일: D:phpStudyWWWwisdomThinkPHPLibraryThinkApp.class.php LINE: 101

   在将ThinkPHP3.1.3升级到ThinkPHP3.2.3时,即使将View、Mode、Controller放到了指定目录下也还是出现无法加载控制器的问题,经过一番研究,发现主要可能由几个原因引起。
  • 1

  • 2

  1. APP_USE_NAMESPACE( 네임스페이스 사용 여부): false인 경우, 컨트롤러가 정의되었습니다. 네임스페이스를 사용하면 컨트롤러를 로드할 수 없습니다. 이 경우 매개변수를 true로 설정하면 됩니다. ThinkPHP/Common/Conf/convention.php에서 설정할 수 있습니다.

  2. ACTION_BIND_CLASS (메소드와 클래스 바인딩 여부) : false로 설정 시 Controller 폴더의 구조는 Controller/View 이름 Controller.class.php여야 하며 클래스에 메소드가 하나씩 작성됩니다. ; 그러나 true로 설정하면 Controller 폴더의 구조는 하나의 클래스가 하나의 메소드에 해당하는 Controller/View 이름/method.class.php여야 합니다.

  3. MODULE_ALLOW_LIST(모듈 접근 허용) MODULE_DENY_LIST(모듈 접근 거부) : 모듈이 접근 금지로 설정되거나 접근 허용 목록이 설정되지 않으면 해당 모듈 하위의 모든 페이지에 정상적으로 접근할 수 없습니다.

  4. URL_MODEL(URL 액세스 모드): 0이 아닐 때 U 메소드를 사용하여 모듈 하위에 있는 다른 컨트롤러의 메소드를 호출하는 경우 BIND_MODULE을 정의하여 모듈을 정의해야 하고, 그렇지 않으면 현재 모듈을 정의해야 합니다. 인식할 수 없습니다.

  5. 잘못된 컨트롤러 정의: 네임스페이스는 컨트롤러의 주석이 아닌 첫 번째 줄에 정의해야 하며, 컨트롤러를 정의할 때 클래스 이름의 철자와 확장 컨트롤러가 존재하는지 여부에 주의하세요. 종종 이 작은 문제로 인해 컨트롤러에 대한 액세스가 차단됩니다. (컨트롤러 파일 이름/컨트롤러 디렉터리의 대소문자 및 철자 오류는 초보자가 이러한 낮은 수준의 실수를 저지를 가능성이 가장 높습니다.)

  6. BIND_MODULE(바인딩 모듈): 모듈이 바인딩된 경우 항목 파일을 삭제하면 모듈이 더 이상 경로에 포함될 수 없으며, 그렇지 않으면 컨트롤러에 액세스할 수 없습니다.



위 내용은 ThinkPHP3.2가 컨트롤러를 로드할 수 없습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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