URL액세스 컨트롤러 방식을 통해 신속한 개발을 위해 ThinkPHP 프레임워크를 사용할 때 많은 PHP 개발자가 문제에 직면했다고 생각합니다. 그림의 문제.
컨트롤러를 로드할 수 없는 이유는 여러 가지가 있지만 제가 아는 바로는 가장 가능성이 높은 이유는 다음과 같습니다.
컨트롤러가 Controller 폴더에 저장되어 있지 않기 때문입니다. 학습이나 테스트를 시작할 때 Index 컨트롤러의 파일에 컨트롤러 클래스를 작성했을 가능성이 높지만 ThinkPHP에서는 IndexController.class.php 파일에 두 개를 작성합니다. 클래스는 표준화되지 않습니다. 동일한 파일에 클래스를 작성한 후 URL을 통해 파일명 이외의 다른 클래스에 접근하면 http: //localhost:81/thinkphp_3 과 같습니다. 2.3_core/index.php/Home/Blog/read/5, 시스템은 이 컨트롤러를 찾을 수 없습니다. 즉, 시스템은 BlogController.class 파일 이름을 통해서만 이 컨트롤러를 찾을 수 있습니다. 이 파일이 있는 경우 시스템이 IndexController.class.php 파일에서 이 파일을 찾는 데 도움을 줄 것이라고 기대할 수 없습니다. 왜냐하면 Controller 폴더에서 BlogController.class.php 파일을 찾을 수 없으면 시스템은 이 파일을 찾지 못했다고 생각할 것이기 때문입니다. 이 컨트롤러가 작성되었으므로 오류가 발생했습니다.
원래는 매개변수 바인딩 기능이 켜져 있지 않아서 그런 줄 알았는데 ThinkPHPConfconvention.php를 찾아보니 이런 것이
두 번째 줄은 매개변수 바인딩 기능이 켜져 있다는 것을 보여주므로 원래 아이디어를 거부했습니다. 나중에 다른 사람들과 상의한 결과 새 파일을 만들지 않은 이유가 이 블로그를 쓴 이유라는 것을 깨달았습니다. 모든 PHP 개발자들과 공유하기 위해 다시는 이런 어리석은 실수를 하지 않도록 서로 격려합시다.
ThinkPHP 프레임워크에서 컨트롤러를 로드할 수 없는 문제를 해결한 이유 중 하나가 바로 위 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!