PHP中调用类方法时->和::的区别是什么?
展开全部
在类里面的时候,$this->func()和self::func()没什么区别。
在外部的时候,->必须是实例化后的对象使用; 而::可以是未实例化的类名直接调用。
举个例子:
class Mytest{
function ccc($str){
echo $str;
}
}
Mytest::ccc("123456");
$object = new Mytest();
$object->ccc("123456");
在外部的时候,->必须是实例化后的对象使用; 而::可以是未实例化的类名直接调用。
举个例子:
class Mytest{
function ccc($str){
echo $str;
}
}
Mytest::ccc("123456");
$object = new Mytest();
$object->ccc("123456");
更多追问追答
追问
是不是说实例化的类不能使用::?
而未实例的类可不可以使用->呢?
追答
你用我的例子,分别试一下Mytest->ccc("->")和$object::ccc("::")就知道答案了。(都会报错)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询