ThinkPHP框架中解决无法加载控制器的问题—原因之一

原创 2015年11月09日 20:06:25

相信许多PHP开发者在使用ThinkPHP框架进行快速开发的时候遇到过通过URL访问控制器方法时遇到图上的这种问题。

为什么会无法加载控制器呢,原因有很多,但是据我所了解的来看,最有可能的还是:

你的Controller文件夹下没有存放你控制器的文件,因为很可能你在开始学习或者测试的时候将控制器类写在了Index控制器的文件中,但是在ThinkPHP中,在IndexController.class.php文件中写两个类是不规范的,因为两个类如果写在了同一个文件里,那么在通过URL访问文件名以外的其它类时,就像这样,http://localhost:81/thinkphp_3.2.3_core/index.php/Home/Blog/read/5,系统是找不到这个控制器的,也就是说,系统找到这个控制器只有通过文件名BlogController.class.php来找,你如果没有新建这个文件是不能指望系统帮你从IndexController.class.php这个文件找的,因为在Controller文件夹下如果找不到BlogController.class.php这个文件,系统就认为你没有写这个控制器,所以才会出现那样的错误。

我原来以为是因为没有开启参数绑定功能,但是我找到ThinkPHP\Conf\convention.php看到这个


第二行显示参数绑定功能是开启的,所以就否定了我原来的想法,后来通过咨询其他人才意识到是没有新建文件的原因,才写下这篇博客,希望与所有的PHP开发者共勉,不要再犯这么愚蠢的错误了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ThinkPHP3.2无法加载控制器

ThinkPHP3.2无法加载控制器的问题,如ThinkPHP3.1升级3.2。
  • DaiKeKun
  • DaiKeKun
  • 2016年03月22日 12:15
  • 6887

thinkphp3.2.3无法加载新建控制器:User

刚刚接触thinkPHP,出现了这样的问题 网上百度了很多都没看明白,后来才发现是因为访问的接口文件有问题。 我的example1项目里有两个站点文件夹,一个默认的application,一个新...
  • DAWNN98
  • DAWNN98
  • 2016年07月01日 21:43
  • 2241

thinkphp无法加载控制器:Admin

在使用thinkphp时,通过某入口文件访问其他非默认的模块(比如Admin模块),出现报错: 无法加载控制器:Admin 原因:入口文件(比如index.php)中定义了绑定某个具体的模块 如...
  • Jo_Andy
  • Jo_Andy
  • 2015年05月31日 14:33
  • 7102

TP框架修改url模式后出现‘无法加载控制器’的错误

一定要按TP官方的流程新建应用程序! 一定要按TP官方的流程新建应用程序! 一定要按TP官方的流程新建应用程序!(三遍) 如果遇到上述问题,可以尝试 application/Common/Co...
  • nuanci
  • nuanci
  • 2016年01月15日 18:02
  • 1853

thinkphp3.2访问后台Admin模块报错,找不到控制器

thinkphp3.2版本较之前的thinkphp版本改动还是比较大的,主要还加入了项目中非常常见的多模块设计了 ok, 根据,thinkphp官方API显示,加入这样一句话,就可以拥有后台模块了...
  • u011410529
  • u011410529
  • 2015年04月15日 21:31
  • 3060

ThinkPHP框架----控制器调用模型里的方法,一直报错——Think\Model:..方法不存在!

这是错误截图,找了半天也没发现原因,最后 解决,原来是 新增的模型命名的时候,忘记加class 导致的~~ 改为   即可。...
  • lubaobao2010
  • lubaobao2010
  • 2017年01月25日 09:14
  • 1865

TP3.2的URL重写省略index.php问题

在tp3中,如果使用了默认的路由,我们的url可能会变成http://www.baidu.com/index.php/index/index/index这类模式,但是在很多场景下,我们需要隐藏我们的入...
  • z18865511593
  • z18865511593
  • 2017年03月21日 17:23
  • 1715

解决thinkphp5中关闭多支持多模块后始终提示控制器不存在的问题

配置的时候想去掉index 网上说法众多 可是系统本身带有这个功能的。 // 是否支持多模块 'app_multi_module' => false, 这个只要设置fals...
  • Mad_Geek
  • Mad_Geek
  • 2017年04月06日 03:15
  • 3687

Thinkphp下无法加载模块PUBLIC

ok!通常在TP的根目录下会常见一个Public目录来放置一些公共文件CSS,JS等 然后在模板中可以通过TP系统常量__PUBLIC__来直接访问! ================ 今天新建一个项...
  • sinat_19569023
  • sinat_19569023
  • 2014年08月19日 16:15
  • 3496

一个样例学会tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向

点击进入视频教程tp5控制器一个样例明白控制器的定义及使用
  • hayixia606
  • hayixia606
  • 2017年07月24日 22:44
  • 4151
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP框架中解决无法加载控制器的问题—原因之一
举报原因:
原因补充:

(最多只允许输入30个字)