博客列表 >php命名空间基础解析2018年9月5日

php命名空间基础解析2018年9月5日

马聪 15558002279的博客
马聪 15558002279的博客原创
2018年09月10日 16:23:02669浏览
  1. 创建命名空间和访问其中内容:


  2. 实例

    <?php
    namespace space1{
    	class person{
    		public $name,$age;
    		function __construct($name='space1小明',$age='15'){
    			$this->name = $name;
    			$this->age = $age;
    		}
    		public function show(){
    			echo $this->name,"今年",$this->age,"岁<br>";
    		}
    	}
    
    }
    
    namespace space2{
    	class person{
    		public $name,$age;
    		function __construct($name='space2小红',$age='120'){
    			$this->name = $name;
    			$this->age = $age;
    		}
    		public function show(){
    			echo $this->name,"今年",$this->age,"岁<br>";
    		}
    	}
    }
    
    namespace{
    	class person{
    		public $name,$age;
    		function __construct($name='本空间小刚',$age='11'){
    			$this->name = $name;
    			$this->age = $age;
    		}
    		public function show(){
    			echo $this->name,"今年",$this->age,"岁<br>";
    		}
    	}
    	//调用命名空间space1中的person类
    	$p = new \space2\person();
    	$p->show();
    	//调用命名空间space2中的person类
    	$p = new \space1\person();
    	$p->show();
    	//调用本空间中的person类
    	$p = new person();
    	$p->show();
    }
    ?>

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

    2.使用别名访问,引入其他目录下的脚本:


  3. 实例

    <?php
    require "A/B/C/c1.php";
    require "A/B/C/c2.php";
    use A\B\C\c1\space2 as pc2;
    use A\B\C\c1\space1;
    	class person{
    		public $name,$age;
    		function __construct($name='本空间小刚',$age='11'){
    			$this->name = $name;
    			$this->age = $age;
    		}
    		public function show(){
    			echo $this->name,"今年",$this->age,"岁<br>";
    		}
    	}
    	//调用命名空间space1中的person类
    	$p = new space1\person1();
    	$p->show();
    	//调用命名空间space2中的person类
    	$p = new pc2\person();
    	$p->show();
    	//调用本空间中的person类
    	$p = new person();
    	$p->show();
    ?>

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

    3.非限定名称=》当前文件;限定名称=》相对路径;完全限定名称=》绝对路径;

    非限定名称:new space1();    如果当前命名空间是 A\B  则这个实例化的是A\B\space1

    限定名称:new  C\space1(); 如果当前命名空间是A\B  则这个实例化的是A\B\C\space1

    完全限定名称:new \C\space1();如果当前命名空间是A\B,则这个实例化的是 C\space1

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议