2015-02-09 68 views
-1

我有一個基本類:用在別的地方類的構造方法分配一個值的變量,而無需重新分配值

class Customer { 

    private $customer_info; 
    private $mysqli; 

    function __construct(Array $customer_info, Mysqli $mysqli) { 
    $this->mysqli = $mysqli; 
    $this->customer_info = $customer_info; 
    } 

} 

在構造方法我一個值賦給的mysqli和CUSTOMER_INFO變量。

在每種方法中,我都必須告訴它$ mysqli是什麼,但我覺得它只是引用它自己。

public function get() { 
    $mysqli = $this->mysqli; 
    // carry out mysql things 
} 

如果我不包括該行,那麼任何陳述等不工作,反正是有,我可以做到這一點,所以我沒有繼續做$庫MySQLi = $這個 - >在mysqli的每種方法?

+2

你爲什麼不每一梅索德憂色$這個 - > mysqli的,而不是$ mysqli的? – donald123 2015-02-09 11:27:46

+0

有道理:)簡單的答案是最好的。 – Lovelock 2015-02-09 11:29:20

回答

1

無多數民衆贊成的不能訪問你應該使用$this->myvar類變量,除非你使用靜態變量比您可以撥打變量,如self:$myvar

+0

這就是我正在尋找的答案:)謝謝。 – Lovelock 2015-02-09 11:29:35

+0

@ user2921557請注意......如果您想使用self :: $ mysqli,您必須將$ mysqli更改爲** static ** * private * $ mysqli – donald123 2015-02-09 11:31:18

0

是的,你可以做到這一點

使變量公共的和靜態的類。

public static $mysqli; 

而且隨時隨地可以訪問靜態成員一樣

$mysqli = Customer::mysqli; 

但更好的是使私有變量,並通過調用方法一樣使用它。

public function getSQLConn() { 
    $mysqli = $this->mysqli; 
    return $mysqli; 
} 

並獲得價值/使用它像

$mysqli = $this->getSQLConn(); 
相關問題