命名空间是在php5.3以后新增的一个特性,php中的函数名、常量名、类名都不能重复定义,但是有了命名空间就可以解决这个问题了
定义命名空间
php的命名空间用namespace来声明,如下图,当不加namespace的时候,会出现函数重定义的错误。加上namespace后,可以正常使用:
<?php
namespace kb;
function var_dump(){
echo "1fast.cn";
}
var_dump();
?>
命名空间的声明必须写在第一行,且前面不能有任何代码包括空格等
<?php
namespace a;
namespace b; // ===>直接覆盖a的命名空间
function var_dump(){
echo "1fast.cn";
}
\a\var_dunmp(); //====> 报错
\b\var_dunmp(); //====> 输出 1fast.cn
?>
同一个文件中可以有多个命名空间,并且用代码分隔
<?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 时间戳
原创文章转载请注明:转载自:PHP命名空间和时间函数
发表评论
沙发空缺中,还不快抢~