PieceOfMeat Posted March 16, 2013 Share Posted March 16, 2013 Hello everyone This is my code: <?php class Customer { public $name = "name"; public $phone = "phone"; public $mail = "mail"; public function setName($n) { $this->name = $n; } public function getName() { return $this->name . "<br />"; } public function setPhone($p) { $this->$phone = $p; } public function getPhone() { return $this->$phone . "<br />"; } public function setMail($m) { $this->$mail = $m; } public function getMail() { return $this->$mail . "<br />"; } } $a = new Customer; echo $a->getName(); echo $a->getPhone(); echo $a->getMail(); $a->setName("A"); $a->setPhone("2818"); $a->setMail("gmail.com"); echo $a->getName(); echo $a->getPhone(); echo $a->getMail(); ?> for some reason i get error for the phone and mail variables: Notice: Undefined variable: phone in /home/stud/2011/3/avile/public_html/ex1a/index.php on line 26Fatal error: Cannot access empty property in /home/stud/2011/3/avile/public_html/ex1a/index.php on line 26 But i dont get this error for the name variable. Is somebody know why? Quote Link to comment https://forums.phpfreaks.com/topic/275726-undefined-variable/ Share on other sites More sharing options...
PravinS Posted March 16, 2013 Share Posted March 16, 2013 remove "$" from $phone, it should be like "$this->phone" not like "$this->$phone" Quote Link to comment https://forums.phpfreaks.com/topic/275726-undefined-variable/#findComment-1418964 Share on other sites More sharing options...
Christian F. Posted March 18, 2013 Share Posted March 18, 2013 (edited) Another tip: You should not add HTML tags to the values returned by the class. Adding markup is solely the view's (template) responsibility. That way, you only need to replace the view to output your data to a different system, instead of rewriting the entire application. Embedding presentation logic into the business logic, as you've done above, means you've just about ensured that you'll have a major rewrite on your hands. Every time your want to change how things look. Edited March 18, 2013 by Christian F. Quote Link to comment https://forums.phpfreaks.com/topic/275726-undefined-variable/#findComment-1419357 Share on other sites More sharing options...
AyKay47 Posted March 18, 2013 Share Posted March 18, 2013 If you are not sure what ChristianF is talking about, try googling "MVC Framework". Quote Link to comment https://forums.phpfreaks.com/topic/275726-undefined-variable/#findComment-1419391 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.