我有一个课程,我正在尝试将其实施到我的网站中,但我无法将变量传递给它......
class Order {
var $totalPrice = null;
function load() {
$this->totalPrice = 123;
}
function loadByPaymentSessionId($paymentSessionId) {
$this->totalPrice = 123;
}
}
$order = new Order();
$order->load();
如何在课堂外设置$ this-> totalPrice?
答案 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;
}