このスクリプトは常に0を返します。私がgetSKU()をエコーするように変更した場合、動作しますが、数量、価格または名前は決して動作しません。もし誰かが何かアイデアを持っていたら、私の人生を刺激する助けてください!PHPクラスのgetメソッドは常に0を返します
<?php
session_start();
$sku = "0001";
if (!isset($_SESSION[$sku])) {
$_SESSION[$sku] = new product($sku, 5);
} else {
}
echo $_SESSION[$sku]->getQuantity();
class product {
var $sku;
var $name;
var $price;
var $quantity;
function __construct($par1, $par2) {
$this->sku = $par1;
$this->quantity = $par2;
}
function setSKU($x) {
$this->sku = $x;
}
function getSKU() {
echo $this->sku;
}
function setName($x) {
$this->name = $x;
}
function getName() {
echo $this->name;
}
function setPrice($x) {
$this->price = $x;
}
function getPrice() {
echo $this->price;
}
function setQuantity($x) {
$this->quantity = $x;
}
function incrementQuantity() {
$this->quantity++;
}
function getQuantity() {
echo $this->quantity;
}
}
「var」は必要ありません。 '$ sku = 0;'のようなクラス内の変数の値を設定する必要があります – Martin
@Martin '$ _SESSION'でコードを実行しましたが、うまく動作します。 –
コードは正常に動作します。 [参照してください](http://sandbox.onlinephpfunctions.com/code/185b06b544a174f3fb9e93c1853b86ff6252119e) – Martin