我们在PHP的哪里使用对象运算符“->”?


78

我们可以使用对象运算符的不同方式是什么 ->在PHP中?


5
为什么关闭?8年后,人们开始质疑这个问题,对此问题有足够的答案。显然,很容易看到这里的要求。
DeltaFlyer

1
@DeltaFlyer投票重新回答这个问题
Stephan

Answers:


115

PHP有两个对象运算符。

第一,->被当你想打电话实例的方法或访问实例属性中。

::当您要调用static方法,访问static变量或在子类中调用方法的父类版本时,使用第二个。


有“->”运算符的名称吗?我猜是“ ::”,我只称其为“双冒号”。但是这个“->”我怎么称呼它?物业存取员?
Pablo Camara

28

访问实例化类的方法或属性时

class SimpleClass
{
    // property declaration
    public $var = 'a default value';

    // method declaration
    public function displayVar() {
        echo $this->var;
    }
}

$a = new SimpleClass();
echo $a->var;
$a->displayVar();

7
像object-> method_name(); 或object-> prop_name; 这意味着它更像dot(。)运算符来访问类的方法和属性。
花蜜2010年

2
类似于。Java中的类运算符,是的...但是请参见PHP类文档以了解详细信息
Mark Ba​​ker 2010年

11

调用函数:

$foo->bar();

访问属性:

$foo->bar = 'baz';

$foo实例化对象在哪里。


4

在引用实例化对象的属性时使用它。例如:

class a {
    public $yourVariable = 'Hello world!';
    public function returnString() {
        return $this->yourVariable;
    }
}

$object = new a();
echo $object->returnString();
exit();

1

“->”运算符是与PHP相关的可调用内容。始终用于调用实例方法并访问实例。

“ ::”作用域运算符用于实例,该实例用于调用静态方法和常量,与:

这是对他们的正确答复,我有了新知识。

请检查上述不同运营商的名称冲突。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.