PHP命名空间和时间函数

命名空间是在php5.3以后新增的一个特性,php中的函数名、常量名、类名都不能重复定义,但是有了命名空间就可以解决这个问题了

定义命名空间

php的命名空间用namespace来声明,如下图,当不加namespace的时候,会出现函数重定义的错误。加上namespace后,可以正常使用:

<?php
namespace kb;
function var_dump(){
    echo "cwj95.com";
}
var_dump();
?>

命名空间的声明必须写在第一行,且前面不能有任何代码包括空格

<?php
namespace a;  
namespace b;         // ===>直接覆盖a的命名空间
function var_dump(){
    echo "cwj95.com";
}
\a\var_dunmp();    //====>   报错
\b\var_dunmp();    //====>   输出   cwj95.com
?>

同一个文件中可以有多个命名空间,并且用代码分隔

<?php
namespace a;
function var_dump(){}
namespace b;         
function var_dump(){}
//如果确实一个文件要用多个命名空间,我们推荐用大括号包含起来
namespace a {
function var_dump(){}   }
?>

命名空间的动态调用可以用__NAMESPACE__和关键字namespace,都可以动态表示当前命名空间

使用命名空间

<?php
namespace a {
function var_dump(){}   }
var_dump();        // 如果不指定,默认访问当前空间下的方法
\a\var_dump();     // 访问  a 下的   var_dump()  方法
\var_dump(1):      //  访问全局的var_dump()方法
?>

命名空间的导入类。只能导入类,函数和常量是不能用use导入的,但可以访问其他命名空间下的函数和常量


namespace a {
class demo{}
 }
namespace b{
use \a\demo;
$a = new a();
}

PHP经常使用的时间函数就是Unix的时间戳了,这是一个从1970-1-1到现在秒数

date_default_timezone_get      // 取得一个脚本中所有日期时间函数所使用的默认时区
date_default_timezone_set('PRC')      // 设定用于一个脚本中所有日期时间函数的默认时区
//在使用时区时,一定要设置时区,不然默认是0时区,与我国可以要差8个小时呢,可以使用PRC设定中国时区
// http://php.net/manual/zh/timezones.php  时区列表
time      // 返回当前的 Unix 时间戳
microtime  // 返回当前 Unix 时间戳和微秒数
date      // 格式化一个本地时间/日期
mktime(时,分,秒,月,日,年)     //选项的每个值是可填的,不写就是当前时间,取得一个日期的 Unix 时间戳

发表评论

发表评论

*

沙发空缺中,还不快抢~