Sunday, 15 February 2015

Undefined variable in a method of a class - PHP -



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