随心的博客

好记性不如个烂笔头,随心记录!

返回顶部

问题解决: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     }
 
输出结果为:
 

 

 

posted @ 2021-10-10 21:21  yangphp  阅读(939)  评论(2编辑  收藏  举报