面向对象的编程 - >操作者

时间:2012-09-16 15:32:33

标签: php oop

  

可能重复:
  Reference - What does this symbol mean in PHP?

所以我一直在阅读David Powers的书 PHP解决方案,动态网页设计轻松。我阅读了面向对象PHP的简短部分,我很难掌握 - >的概念。运营商。任何人都可以尝试给我一个坚实的解释 - > OOP PHP中的运算符?

示例:

$westcost = new DateTimeZone('America/Los_Angeles');
$now->setTimezone($westcoast);

另外,更一般的例子:

$someObject->propertyName

3 个答案:

答案 0 :(得分:0)

PHP中的->运算符指的是函数或类中的变量。

<?php
    class Example {
        public $variableInClass = "stringContent";
        public function functionInClass() {
            return "functionReturn";
        }
    }

    $example = new Example();
    var_dump($example->variableInClass); //stringContent
    var_dump($example->functionInClass()); //functionReturn
?>

请注意,如果我们正在讨论静态类(不同用途),请改用::

<?php
    class Example {
        public static $variableInClass = "stringContent";
        public static function functionInClass() {
            return "functionReturn";
        }
    }

    var_dump($example::$variableInClass); //stringContent
    var_dump($example::functionInClass()); //functionReturn
?>

答案 1 :(得分:0)

$someObject->propertyName可以理解为:

存储在propertyName 中的

返回值来自对象$ someObject

$someObject->methodName()可以理解为:

从对象$ someObject

执行 methodName

答案 2 :(得分:-1)

类和对象101:

一个类定义如下:

class MyClass {

   public $value1;

   public function getValue() {

       return $this->value;

   }

}

我们现在定义了一个具有单个属性和单个函数的类。要使用这些,我们需要创建此对象的“实例”:

$myObject = new MyClass();

要使用属性或函数,我们使用->运算符:

echo $myObject->value1;
echo $myObject->getValue();

更抽象一点..函数getValue在此对象中定义。通过在我们类的一个实例上使用->运算符,PHP所做的实际上只是调用函数,就像任何其他函数一样..但在它被调用之前$this被赋值给当前对象。

希望这有帮助,如果不是..我只是建议阅读有关OOP基础知识。