[PHP] 벌레잡기 - Accessing static property class::$variable as non static in ...

Notice: Accessing static property class_name::$__var as non static in /.../???.php on line 8
Notice: Accessing static property class_name::$obj as non static in /.../???.php on line 9

  $this->__var,  $this->obj를 self::$__var, self::$obj로 바꾼다.

Class class_name {
private static $__var, $obj;
...
public function __construct() {
$this->__var = null;
$this->obj = new Obj;
}
...
}

Class class_name {
...
private static $__var, $obj;
public function __construct() {
self::$__var = null;
self::$obj = new Obj;
}
...
}

  geeksqa.com의 Access static property through static and non-static methods?에 이런 설명이 있다.

For static properties use the following even inside a non static function

return self::$mode;

The reason for this is because the static propery exists whether an object has been instantiated or not. Therefore we are just using that same pre-existing property.

정적 속성은 정적이 아닌 함수 안에서도 다음을 쓴다.

return self::$mode;

이렇게 하는 것은 정적 속성이 객체가 인스턴스화하였는지에 관계없이 있기 때문이다. 그래서 기존 속성과 같은 것을 쓰고 있다.

  '인스턴스화'라는 말이 어려운데, 제타위키에서는 이렇게 설명하고 있다.

3. 인스턴스화

인스턴화 문서를 참고하십시오.

  • 클래스를 실현시키는 일
  • 클래스를 가지고 객체를 만드는 일
  • 비유: 설계도로부터 실체를 만들어내는 일
2022/05/13 16:16 2022/05/13 16:16
글 걸기 주소 : 이 글에 다른 글을 걸 수 없습니다

덧글을 달아 주세요