使用自动生成模块后,无法加载控制器:Home

1、我根据文档在应用入口文件后面添加自动生成模块的代码后:

define('BIND_MODULE','Admin');
define('BUILD_CONTROLLER_LIST','Index,User,Menu');

输入网址 http://localhost/tphp3/index....
自动生成了admin模块

clipboard.png

但是却出现了
clipboard.png

index.php的完整代码如下:

if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false 
define('APP_DEBUG',True); 
define('BIND_MODULE','Admin');
define('BUILD_CONTROLLER_LIST','Index,User,Menu');

// 定义应用目录
define('APP_PATH','./Application/');

// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';

但是我去掉这两行代码后,又可以访问成功.....
这是怎么回事

阅读 5.4k
2 个回答
define('BIND_MODULE','Admin');
define('BUILD_CONTROLLER_LIST','Index,User,Menu');

这是用于自动生成模块和批量生成控制器的方式。
BIND_MODULE也可以作为单个入口绑定的方案。
一般TP的URL写法是:http://xxx.com/index.php/分组/控制器/操作
BIND_MODULE设置后。需要通过 http://xxx.com/index.php/控制器/操作 进行访问。
你可以理解是限定单个分组的入口。同时避免访问到其他分组

define('BIND_MODULE','Admin');

已经设置了当前入口文件绑定的模块,访问时路径中可以不加模块名称

访问时直接
http://localhost/tphp3/index....
即在入口文件后面直接访问控制器和方法
index.php/Index/index

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题