スキマ時間に書いた基本的なオブジェクト指向の構文。書いてる途中でエラーが出てきて、以前からエラーをまとめておきたいと思っていたのでこの機会に投稿する。
今回出てきたエラーは2箇所。
前提として
・一つ一つの単語をググって、自分なりにエラーの原因の予想を立てて答えを見ました。
・ググっても分からなかったら自分なりに答えを出しました。
①syntax error, unexpected
<?php
class Human {
public name; //エラー発生
}
?>
予想
・syntaxを訳すと"構文"、unexpectedは予想外なので、予想外の命令(構文)が来たので動作ができなかったよというログ。
回答
文法エラーです。入力ミスをチェックしてくださいとの報告
上記のコードのプロパディ名に$nameとされなかった為に発生した。これを見てプロパディ名を書き換えたらエラーが無くなった。
②Fatal error: Uncaught Error: Class 'Hahakigi' not found in
public function __construct($name,$age,$gender,$hobby){
$this->name = $name;
$this->age = $age;
$this->gender = $gender;
$this->hobby = $hobby;
}
}
$hahakigi = new Hahakigi('帚木日向子','24','女性','B級グルメ巡り');//エラー
発生
予想
・Fatal errorは処理を停止させるぐらい深刻なエラー、uncaughtは捕まえられない、このエラーはインスタンスの定義でクラス名が特定出来ませんでした。
・又はインスタンス生成に不明なエラーが出て処理を停止しました。
回答
調べても腑に落ちる答えが見つからなかったのでインスタンスの定義を見直してみた。以前自分が纏めたノートを参考に、newの後にメインクラスのHumanに書き換えたらエラーが収まった。
これも予想になるがインスタンスの生成でメインクラス(設計図)が特定できなかったから起きたエラーだと思う。
最後に
自分の解釈に自信が全くないので今度メンターさんに質問しようと思った。今回投稿してみてエラーの備忘録を残すことがそのままアウトプットに繋がることを意識させられたのでこれからもエラーを見つけてはまとめて投稿したいと思う。