解决在ThinkPHP控制器中命名空间的问题

Posted 我爱默小兜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决在ThinkPHP控制器中命名空间的问题相关的知识,希望对你有一定的参考价值。

前几天在TP中,使用php自带类,因为命名空间,遇到一个小问题。因为ThinkPHP中使用了命名空间,如果在Home命名空间下,直接执行如下代码

<pre name="code" class="php">$datetime= new DateTime($basedate, new DateTimeZone($timezone));


那么其等同如

$datetime= new \Home\DateTime($basedate, new <span style="font-family: Arial, Helvetica, sans-serif;">\Home\</span><span style="font-family: Arial, Helvetica, sans-serif;">DateTimeZone($timezone));</span>

很显示,这是不正确的DateTime以及DateTimeZone是PHP自带的类文件,应该在根空间,正确的执行方法如下

$datetime= new \DateTime($basedate, new \DateTimeZone($timezone));

备注:PHP在实例化一个类的时候,如果不指定命名空间,使用的当前命名空间。如果没有指定当前命名空间,当前命名空间为根空间,即`\`



以上是关于解决在ThinkPHP控制器中命名空间的问题的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 5.0 命名空间

Thinkphp 空操作空控制器命名空间

thinkphp5.0命名空间

Thinkphp3.2学习——架构_命名空间

THINKPHP--开发常用

2)thinkphp的带有命名空间的自动加载机制