2010-02-16 62 views
0

請考慮這個例子。 (PHP)哪種方法更高效:設置類屬性;或返回結果?

class Database{ 
    private $result; 
    private $conn; 

    function query($sql){ 
     $result = $this->conn->query($sql); 
     // Set the Database::$result ?? Or return the value and avoid setting property? 
     return $result; 
     // $this->result = $result; 
    } 
} 

這兩種方法的優點是什麼?它們在哪裏適用?

回答

0

你最近的評論表明您將只保留一個結果在陣子設置。既然如此,我建議把它保存在對象本身(作爲對象的數據成員)。

而且,因爲你只圍繞保持一個結果集,則可能您的類重命名爲更具描述性的。 「數據庫」並不完全總結它。它是一個「ResultSet」。如果它的結果​​集的特定類型考慮的命名它,因此它反映的數據你取的類型。

1

根據您的代碼,我認爲返回結果而不是將其設置爲數據庫類的屬性是有意義的。數據庫(原來的連接)在其整個生命週期中將有多個結果集。因此,如果要使用同一對象進行多個查詢,將結果設置爲類屬性並不合理。

+0

雖然數據庫連接可能有多個結果集,我只會保存最近的結果,並且以後調用的方法也會使用這個。所以我還不清楚:S – shxfee 2010-02-18 14:06:29

0

我不認爲財產Database所屬,所以請執行下列操作之一:

  1. 返回查詢的是
  2. 返回其已設爲您的查詢QueryObject,但給你對查詢結果執行的其他方法(例如:分頁,過濾)
相關問題