use Illuminate\Notifications\Notifiable; 和 use Notifiable; 有什么区别 ?
use Illuminate\Notifications\Notifiable;
class xx
{
use Notifiable;
...
}
Notifiable
是个trait, 在类里面 use, 解决单继承的问题, 那么类外面的 use Illuminate\Notifications\Notifiable;
又是什么意思呢? 引入命名空间?
类外面也没有写 use Illuminate\Notifications\Notifiable as Notifiable
, 里面也就能直接 use Notifiabel
了? 搞不明白了
我觉得你是对 这两个
use
使用理解上有点问题,use Notifiable
是引用 trait 的一种方式 这个这个use
和命名空间的use
是不相同的抛开
trait
来说, 在你实例化类的时候是下面这样的这样的化 我use的时候是指定命名空间 new 是具体实例话那个类。
替换成
trait
来说不就是use
在不同的地方 代表着不同的意思 .use Illuminate\Notifications\Notifiable;
代表我引入的Notifiable
是在Illuminate\Notifications
这个命名空间下的类。use Notifiable;
代表我引入Notifiable
这个trait
。function()user($user){}
代表我引用外部的变量到函数内。