Като направиш инстанцията ти се стартира винаги първо конструктора, който има един аргумент и ако не го дадеш на конструктора при инстанцията щи даде грешка.На първия ред привейт свойството "юсернейм" взема стойността на аргумента на конструктора, а на втория се изпълнява метода дефиниран по-долу "Юсер" при който е изписва "здравей + привейт свойството", демек аргумента, който си дал.Смисъла е, че няма как да извикаш привейт свойството директно:
$nov->username;
Трябва да го направиш публик за да го извикаш така.А аргумента можеш предварително да го зададеш да ти бъде по подразбиране:
class Pruv {
private $username = '';
public function __construct($user = "fgfdgdfg")
{
$this->username = $user;
$this->User();
}
public function User(){
echo ("Hello: ".$this->username);
}
}
$nov = new Pruv();