完美解决在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在实例化一个类的时候,如果不指定命名空间,使用的当前命名空间。如果没有指定当前命名空间,当前命名空间为根空间,即`\
相关推荐
孙雪峰 2020-06-13
xuelang0 2020-04-21
austindev 2020-04-29
Triones 2019-10-30
xuelang0 2019-09-04
Phplayers 2019-08-14
klarclm 2019-07-17
微麦PHP 2019-09-05
mathchao 2019-04-30
moringblog 2019-03-22
王大壮 2017-08-15
xishizhaohua 2019-06-27
一个过客 2019-06-18
xianzhe 2019-06-21
azhedashuaibi 2019-06-21
xianzhe 2019-06-21
ahxxx 2019-06-20
csdnphpandroid 2019-05-10
shangmeimei 2018-04-01