Is it possible to define a PHP class property and assign the value dynamically using a property within the same class? Something like:
class user {
public $firstname = "jing";
public $lastname = "ping";
public $balance = 10;
public $newCredit = 5;
public $fullname = $this->firstname.' '.$this->lastname;
public $totalBal = $this->balance+$this->newCredit;
function login() {
//some method goes here!
}
}
Yields:
Parse error: syntax error, unexpected '$this' (T_VARIABLE) on line 6
Is anything wrong in the above code? If so, please guide me and if it is not possible then what is a good way to accomplish this?
You can put it into the constructor like this:
public function __construct() {
$this->fullname = $this->firstname.' '.$this->lastname;
$this->totalBal = $this->balance+$this->newCredit;
}
Why can't you do it the way you wanted? A quote from the manual explains it:
This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.
For more infromation about OOP properties see the manual: http://php.net/manual/en/language.oop5.properties.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With