yii2 命名空间

A.php

namespace a\b\c;
class Apple(){
    public function get_info(){
        echo 'this is a';
    }
}

B.php

namespace d\e\f;
class Apple(){
    public function get_info(){
        'echo this is b';
    }
}

index.php

require_once("A.php");
require_once("B.php");
// $a = new Apple();这是不允许的,应为不知道该加载哪个类的Apple
$a = new a\b\c\Apple(); //指定用哪个类下的
$a->get_info();//结果是'this is a';
$b = new d\e\f\Apple();
$b->get_info();//结果是'this is b';

index.php在开始用use指定那个类

require_once("A.php");
require_once("B.php");
use a\b\c\Apple;
$a = new Apple();
$a->get_info() //结果是'this is a';

index.php如果同时要use用b.php:

require_once("A.php");
require_once("B.php");
use a\b\c\Apple;
use d\e\f\Apple as BApple;  //起个别名
$a = new Apple();
$a->get_info();
$b = new BApple();
$b->get_info();

c.php c.php没有命名空间,则此时为全局类

class Apple{
    public function get_info(){
        echo 'this is c';
    }
}
require_once("A.php");
require_once("B.php");
require_once("C.php");
use a\b\c\Apple;
use d\e\f\Apple as BApple;  //起个别名
//如果要使用c.php的Apple,直接 $c = new Apple() 是不行的,此时的Apple还是a.php下的,可以这样去访问顶层类
$c = new \Apple();
$c->get_inf();//输出 'this is c';
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值