php命名空间笔记

原创 PHP笔记  2017-03-22 17:13  阅读 1,002 views 次

在PHP中,命名空间主要是为了解决用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突而出现的,它还能为很长的标识符名称创建一个简短的名称,提高源代码的可读性。

任意合法的php代码都可以包含在命名空间中,但只有类、接口、函数和常量受命名空间的影响。命名空间的定义关键字为namespace。声明命名空间必须在所有代码之前(除了declare关键字之外)。

1、定义单个命名空间

格式:

<?php
namespace a;
?>

实例:

<?php
namespace a;
header("Content-Type: text/html;charset=utf-8"); //解决中文乱码
const PI = 1;
function b($r) {
$l=2*PI*$r;
$s=PI*$r*$r;
echo "周长:".$l,"--面积:".$s;
}
b(3);
?>

运行结果:周长:6--面积:9

2、声明分层次的单个命名空间

格式:

<?php
namespace a\b\...;
?>

实例:

<?php
namespace a\b;
header("Content-Type: text/html;charset=utf-8"); //解决中文乱码
const PI = 1;
function b($r) {
$s=PI*$r*$r;
echo "--面积:".$s;
}
namespace a;
header("Content-Type: text/html;charset=utf-8"); //解决中文乱码
const PI = 1;
function b($r) {
$l=2*PI*$r;
echo "周长:".$l;
}
b(3); // 访问a/b()
b\b(3); // 访问a/b/b()
?>

打印结果:周长:6--面积:9

说明:不建议在单个文件中定义多个命名空间,一般用大括号形式的语法。例如:

<?php
namespace a{
......
}
namespace a\b{
......
}
?>

实例:

<?php
namespace a\b {
const A = ' a\b';
}
namespace a {
const A = 'a';
echo A.'|';
echo b\A;
}
?>

运行结果:a| a\b

本文地址:https://www.ggbiji.com/php-namespace.html
版权声明:本文为 PHP笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情