Undefined variable in a method of a class - PHP -
i know why next code doesn't work. giving me error:
( ! ) notice: undefined variable: uname in c:\wamp\www\oops\visibility-levels\public.php on line 8
<?php class user { public $uname = "admin"; public function setusername() { $this->uname = $uname; } public function getusername() { homecoming $this->uname; } } $user = new user(); $user->setusername(); echo $user->getusername(); ?>
but when modify above code -
<?php class user { public $uname; public function setusername($uname) { $this->uname = $uname; } public function getusername() { homecoming $this->uname; } } $user = new user(); $user->setusername("admin"); echo $user->getusername(); ?>
then works fine , gives me next output -
admin
but dont understand why got undefined variable uname in first segment of code. idea?
because function setusername doesn't know value of variable $uname, need define within scope, or pass via function argument.
for example:
public function setusername() { $uname = 'foo'; $this->uname = $uname; }
will result in output: foo
php
No comments:
Post a Comment