2016-11-30 5 views
2

code retourne variable non définie, je pense que quelque chose ne va pas avec la fonction que j'ai écrit, il était censé diviser $value et $splitfeePOO calculateur de prix PHP

class Product { 
    public $name; 
    public $value; 
    public $price; 
    public $splitfee; 

    function split() { 
     $this->value->splitfee = $this->$value/$splitfee; 
    } 
} 

$product_one = new Product(); 
$product_one->name = "potato"; 
$product_one->price = 100; 


$product_two = new Product(); 
$product_two->name = "tomato"; 
$product_two->value = 200; 
$product_two->splitfee = 200; 

$product_three = new Product(); 
$product_three->name = "auto"; 
$product_three->price = 300; 

echo $product_one->name . " is " . $product_one->price . " $" . "<br />"; 
echo $product_two->name . " is " . $product_two->split() . " $" . "<br />"; 
+0

Le corps de la fonction est incorrect. Qu'est-ce que splitfee ici? –

+0

c'est une taxe qui était censée être divisée par la valeur du produit, par exemple 200/30 mais je vois que je mets splitfee à 200 –

+0

@ NadanMarenković http://phpio.net/s/1gkv –

Répondre

0

Vous pouvez fixer votre méthode split() afin qu'elle retourne une valeur . Cela permettrait à votre appel en ligne d'imprimer quelque chose.

function split() { 
    return $this->value/$this->splitfee; 
} 

Ensuite, le code imprimerait:

potato is 100 $ tomato is 1 $

+0

Merci, je vais essayer plus tard. –

+0

Ça marche! Merci! –

+0

@ nadanarenković génial! Nous vous remercions d'avoir choisi cette solution pour aider tous les autres qui ont ce problème. – WEBjuju

0

Essayez cela, si je comprends bien votre logique.

class Product { 
    public $name; 
    public $value; 
    public $price; 
    public $splitfee; 

    function split() { 
     return $this->value/$this->splitfee; 
    } 
}