2012-09-16 89 views
-5

可能重複:
Reference - What does this symbol mean in PHP?面向對象編程 - >操作員

所以我一直貫穿全書PHP解決方案讀書,動態網頁設計輕鬆大衛權力。我通讀了面向對象PHP的簡短部分,並且我很難理解 - >運算符的概念。任何人都可以嘗試給我一個關於OOP PHP中的 - >操作符的可靠解釋嗎?

實施例:

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

此外,更一般的例子:

$someObject->propertyName 
+4

它只是引用對象的方法或屬性執行方法名。其他語言對此操作員使用點。 PHP不能,因爲他們使用字符串concat,因此' - >'代替。 – Spudley

+1

@Spudley:只是因爲它對你很簡單,對其他人來說可能不是那麼明確:) – Evert

+1

哦,所以相當於在java中,'System.out.println(「hello」);' – oman9589

回答

-1

類和對象101:

甲類被定義爲這樣:

class MyClass { 

    public $value1; 

    public function getValue() { 

     return $this->value; 

    } 

} 

我們現在用一首歌來定義一堂課le property和一個函數。要使用這些,我們需要創建這個對象的「實例」:

$myObject = new MyClass(); 

使用性質或功能,我們使用->操作:

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

放一點點抽象。在這個對象中定義了函數getValue。通過在我們的類的實例上使用->運算符,PHP所做的實際上就是調用函數,就像其他函數一樣..但是在被調用之前$this被分配給當前對象。

希望這有助於,如果不是。我只是推薦閱讀關於面向對象的基礎知識。

+1

不是'$ this-> value'不會返回任何東西,除了一個錯誤,因爲它沒有被定義在任何地方。這可能只是一個錯字。 :) – h2ooooooo

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 
?> 
+0

謝謝,這很有幫助 – oman9589

0

$someObject->propertyName可以理解爲:

返回存儲值in propertyName from object $ someObject

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

對象$ someObject