完美如何解决在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集成前端脚手架Vue-cli的好代码教程图解

thinkPHP5框架分页样式类完整示例

TP5(thinkPHP5)框架基于javascript ajax与后台数据交互操作简单示例

ThinkPHP框架如何实现定时执行任务的两种方法分析

thinkPHP5.0框架事务处理操作简单示例