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 了? 搞不明白了
关于 LearnKu
我觉得你是对 这两个
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){}代表我引用外部的变量到函数内。