命名空间namespace的简单介绍

//php文件中引用同名类会产生错误,命名空间即可解决此类问题。
//a.class.php

class Apple{
    public function get_info(){
        echo "this is a.class";
    }
}

//b.class.php

class Apple{
    public function get_info(){
        echo "this is b.clss";
    }
}

//index.php
require_once "a.class.php";
require_once "b.class.php";
//这样直接引用必然会产生致命错误,由此引入命名空间
//在a.class.php顶部添加 namespace a\b\c b.class.php添加 namespace d\e\f
//此时同时引入不会再出错
$a = new a\b\c\Apple();
$a->get_info();
//同理获取b.class
// 为了便于重复使用,直接使用
use a\b\c\Apple;
$a = new Apple();

// 同样在使用b.class时,可以使用as
use d\e\f\Apple as bApple;

//如果存在一个c.class.php存在与底层,即为为设置命名空间
// c.class.php

class Apple{
    public function get_info(){
        echo "this is c.clss";
    }
}

//则此时调用该类则需要在其前面添加\来判定为底层类
$c = new \Apple();

Tags: PHP

添加新评论