我在laravel框架中看到过一些类使用了Classname;在像Auth类这样的类里面,所以我需要知道,使用Classname的目的是什么;在课堂内,它也可以在课堂外使用。
例如
//e.g of auth class
class AuthController extends Controller {
use Authenticable; //or some other class
}
我们不能像
一样使用它use Authenticable; //or some other class
class AuthController extends Controller {
}
上述两者有什么不同吗?
答案 0 :(得分:3)
在课程标题中使用use
语句时,doing class/namespace import。
在课程中使用use
语句时,using a trait。
他们不可互换。您通常使用标题use
从另一个PHP类导入类/命名空间,然后如果它是可以与您的类混合的特性,则执行内部use
以使用该特征。
答案 1 :(得分:0)
Here use is using to include traits in our classes. Inside the classes, we can include multiple traits by comma separated.
//e.g of auth class
class AuthController extends Controller {
use Authenticable; //or some other class
}
Here use is using to include namespaces in our files.
use Authenticable; //or some other class
class AuthController extends Controller {
}
请浏览以下链接:
https://www.sitepoint.com/using-traits-in-php-5-4/
https://code.tutsplus.com/tutorials/namespacing-in-php--net-27203