1.演示四类全局成员的访问、导入和别名引用;
//ap.php;
namespace A\one;
//常量define
define('CON',['con'=>'const','def'=>'define']);
//常量const
const CONA=0;
//接口
interface I{
public static function i_f(string $str):void;
}
//类
class C{
const CONS=1;
public static function c_f(string $str):void{
echo static::class.'=>'.$str.'</br>';
}
}
//函数
function F(){
echo __FUNCTION__.'</br>';
}
/*------------------------------------------------*/
//bp.php;
namespace B;
//导入命名空间A\one,及别名引用
use A\one\I as A1;
use A\one\C as C1;
use function A\one\F as F1;
use const A\one\CONA;
require 'ap.php';
//interface
class C implements A1{
public static function i_f(string $str):void{
echo static::class.'=>'.$str.'</br>';
}
}
echo '接口非限定';
(new namespace\C())->i_f('str');
//class
echo '类非限定:';
$c=C1::c_f('str');
echo '类完全限定:';
$c=\A\one\C::c_f('str');
//function
echo '函数非限定:';
F1();
echo '函数完全限定:';
\A\one\F();
//const
echo '常量const非限定:';
echo 'CONA='.CONA.'</br>';
echo '常量const完全限定:';
echo 'CONA='.\A\one\CONA.'</br>';
echo '类常量:';
echo 'CONS='.C1::CONS.'</br>';
//define
echo '常量define完全限定:';
echo "CON['def']=".\CON['def'].'</br>';
2.命名空间常见的一些术语