将变量传递给类函数并使用它

时间:2013-11-25 08:35:59

标签: php function class oop variables

我有一个课程,我正在尝试将其实施到我的网站中,但我无法将变量传递给它......

class Order {

   var $totalPrice = null;

   function load() {
      $this->totalPrice = 123;
   }

   function loadByPaymentSessionId($paymentSessionId) {
       $this->totalPrice = 123;
   }
}

$order = new Order();
$order->load();

如何在课堂外设置$ this-> totalPrice?

2 个答案:

答案 0 :(得分:1)

目前您的财产已获得公共访问权限,因此:

$order->totalPrice = 4.65;

或者,如果您希望能够在实例化时设置价格,则可以为构造函数提供参数:

class Order {

    public $totalPrice;

    public function __construct($totalPrice = null)
    {
        $this->totalPrice = $totalPrice;
    }
}

$order = new Order(4.85);

或者,如果在设置值时需要执行某种逻辑,则可以阻止直接访问类成员并提供访问器方法:

class Order {

    private $totalPrice;

    public function setTotalPrice($totalPrice)
    {  
        $this->totalPrice = (float) $totalPrice;
    }
}

答案 1 :(得分:0)

这个想法是让$totalPrice私有,并按照这样的功能设置他:

function load2($newVal) {
      //some validation
      $this->totalPrice = $newVal;
   }