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;
}
}
エラーの原因を知っていますか、それともどのように修正できますか?
プロパティをキーワードstaticで宣言する必要があります。
static private $id = 0;
使用する $this->
の代わりに self::
Self
は静的メンバー用で、$this
はインスタンス変数用です。