속성 $token
가 null이 될 것입니다. 클래스에서
이 일어날 수있는 유일한 방법은
nameA
메소드가 호출되는 경우, 또는 당신이 먼저해야 할 것입니다, 그래서 당신은 직접 속성을 조작 :
Class something{
public $token;
public function nameA()
{
$this->token = 'value';
}
public function nameB(){
echo $this->token;
}
}
$ok = new something();
$ok->nameA(); //<--sets property
//or direct manipulation: $ok->token = 'blah';
$ok->nameB(); //<-- reads and outputs it
이
대체가 될 것이다
Class something{
public $token;
public function __construct()
{
$this->token = 'value';
}
public function nameB(){
echo $this->token;
}
}
$ok = new something(); //<-- sets propery
$ok->nameB(); //<--reads and outputs it
또는 당신은 값으로 때에 프로퍼티를 초기화 할 수 있습니다 : 생성자의 속성을 설정
Class something{
public $token = 'default';
public function nameA()
{
$this->token = 'value';
}
public function nameB(){
echo $this->token;
}
}
$ok = new something();
$ok->nameB(); //outputs 'default'
$ok->nameA(); //sets to 'value'
$ok->nameB(); //outputs 'value'
'new something();'은 자동으로'nameA()'를 자동으로 실행하지 않기 때문에; 'nameA()'를 호출하지 않는 한'token' 속성은 null 값인 –