2014-12-27 5 views
8

나는 PHP에서 클래스를 만들었 나는 별표 (*) 나는 할 수 없습니다PHP 액세스는

class monster{ 
    private $id = 0; 
    private $name = ""; 
    private $baseLevel = 0; 
    private $attack = 0; 
    private $defense = 0; 
    private $baseEXP = 0; 
    private $dropType = 0; 
    private $dropNum = 0; 
    function __construct($a, $b, $c, $d, $e, $f, $g, $h){ 
    * self::$id=$a; 
     self::$name = $b; 
     self::$baseLevel = $c; 
     self::$attack = $d; 
     self::$defense = $e; 
     self::$baseEXP = $f; 
     self::$dropType = $g; 
     self::$dropNum = $h; 
    } 
} 

그림으로 표시 줄에 치명적 오류 (제목)를 받고 있어요 그 원인이 무엇인지, 또한 다음 클래스 (동일한 파일)가 동일한 오류를 반환합니다.

class item{ 
    private $id = 0; 
    private $name = ""; 
    private $type = 0; #0-weapon, 1-armor, 2-charm, 3-ability 
    private $ability = 0; 
    private $desc = ""; 
    private $cost = 0; 
    function __construct($a, $b, $c, $d, $e, $f){ 
     self::$id=$a; 
     self::$name=$b; 
     self::$type=$c; 
     self::$ability=$d; 
     self::$desc=$e; 
     self::$cost = $f; 
    } 
} 

오류의 원인이나 해결 방법을 알고 있습니까?

답변

10

키워드를 정적 (static)으로 선언해야합니다.

static private $id = 0; 
8

사용 $this-> 대신 self::

자체는 정적 멤버이며,이 인스턴스 변수입니다.