问题解决:tp6多应用无法获取controller 和 action怎么办
TP6处于多应用模式下,通过Request对象获取当前的控制器和操作均返回为空
特别说明:
手工生成多应用目录以后,不要把以下文件放到子应用目录中了,放进去就有意想不到的bug
app/AppService.php
app/BaseController.php
app/ExceptionHandle.php
app/provider.php
app/Request.php
app/service.php
一把辛酸泪,以为哪里出了问题,到处找原因,最终
1、把这些文件从子应用目录中移到app目录下
2、恢复对应文件的命名空间到初始状态
然后恢复正常了,我晕...........
附代码:
1 public function show() 2 { 3 echo "获取完整URL地址 不带域名:<br />"; 4 echo Request::url(); 5 echo "<br />"; 6 7 echo "获取完整URL地址 带域名:<br />"; 8 echo Request::url(true); 9 echo "<br />"; 10 11 //获取当前控制器 12 echo "当前的控制器首字母大写为:<br />"; 13 echo Request::controller(); 14 echo "<br />"; 15 echo "当前的控制器首字母为:<br />"; 16 echo Request::controller(true); 17 echo "<br />"; 18 19 //获取当前操作 20 echo "当前的操作为:<br />"; 21 echo request()->action(); 22 }
输出结果为:
但行好事,莫问前程!
本文来自博客园,作者:yangphp,转载请注明原文链接:https://www.cnblogs.com/ypeih/p/15390759.html