建议模块不存在的BUG(或许官方认为这不是BUG)修复一下,当模块不存在时,应该是调用默认模块的空操作或空控制器才友好
提供类似3.2版本中的__ROOT__变量,这个变量太重要,对于二级目录里部署来说,目前我是自己临时写一个:
public function rootPath()
{
//thinkphp5 没有像thinkphp3.2那样提供__ROOT__常量,需要初始一个网站根目录常量,把系统部署在二级目录时,此常量非常重要,解决资源路径问题
$PHP_SELF=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$ROOT=substr($PHP_SELF,0,strrpos($PHP_SELF, '/'));
$ROOTArray = explode("/",$ROOT);
//dump($ROOTArray);
$ROOT = "/";
foreach ($ROOTArray as $key =>$v){
if(strstr($v,".php")){
break;
}else if($v != ""){
$ROOT.=$ROOTArray[$key]."/";
}
}
$ROOT = substr($ROOT,0,strlen($ROOT)-1);
define('__ROOT__', $ROOT);
$this->assign('__ROOT__',$ROOT);
} 最佳答案