如何将参数作为局部变量传递给方法

问题描述:

这可能是一个非常愚蠢的问题,但是如何将一个参数作为局部变量传递给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

据我所知,没有更好的办法。由于你的方法可能是从类外部调用的,所以你基本上需要将它作为一个标准的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