2012-03-16 142 views
2

這可能是一個非常愚蠢的問題,但是如何將一個參數作爲局部變量傳遞給PHP類。如何將參數作爲局部變量傳遞給方法

如(這不起作用,而是代表我想要的)

public function sql($this->sql_statement){ 
    // do something 
} 

我想傳遞的參數成爲「$這個 - > sql_statement」變量

很顯然,我可以只做到這一點,但我想知道是否有更好的方法:

public function sql($statement){ 
    $this->sql_statement = $statement; 
    // do something 
} 
+0

您確實需要$ sql_statement作爲對象屬性($ this-> sql_statement)嗎?或者您是否需要它作爲該方法中的局部變量(這就是您的問題所暗示的)? – liquorvicar 2012-03-16 13:23:32

+0

@liquorvicar $ sql_statement變量在整個類中使用,所以它肯定需要是對象屬性 – 2012-03-16 13:32:19

+0

很酷,聽起來很好。我只是檢查,因爲問題不是100%清楚;-) – liquorvicar 2012-03-16 13:35:42

回答

2

據我所知,沒有更好的辦法。由於你的方法可能是從類外部調用的,所以你基本上需要將它作爲一個標準的setter方法:將成員變量設置爲傳入參數的值,就像在第二個代碼中一樣。

+0

感謝您的迴應,這是非常惱人的,因爲它不是很整潔的代碼!哦,如果這是唯一的方法。 – 2012-03-16 13:13:55

+0

@BenCarey Au contraire,我認爲這段代碼很整潔。但是後來我得到了很多Java背景,這正是你應該如何做到的。 – 2012-03-16 13:17:19

+0

這非常令人欣慰,如果我要寫代碼,那麼我需要一些支持! :-) – 2012-03-16 13:19:20