私は質問の質問とは関係のあるプログラムを開発していますので、Questionクラスがあると想像してください。質問の静的関数を参照して質問項目を作成したければ、この変数を$ this変数に割り当てることができますか?
より一般的な視点に
は、クラスの$この変数の値を変更することが可能ですか?はいの場合、どうすればいいですか?さもなければ、$ thisを同じクラスの別のオブジェクトにフックできないのですか?
私は質問の質問とは関係のあるプログラムを開発していますので、Questionクラスがあると想像してください。質問の静的関数を参照して質問項目を作成したければ、この変数を$ this変数に割り当てることができますか?
より一般的な視点に
は、クラスの$この変数の値を変更することが可能ですか?はいの場合、どうすればいいですか?さもなければ、$ thisを同じクラスの別のオブジェクトにフックできないのですか?
疑似変数 $ thisは、呼び出し元オブジェクトへの参照です。それを再割り当てしようとすると致命的なエラーが発生します。
、私はあなたが何のためにあるのか$this
に少し霧だと思います。これは、単に利用されているクラスのインスタンスを参照する方法です。この参照はクラス内でのみ発生します。例えば
:
$questionOne = new Question("Who is the founder of Microsoft?", "Bill Gates");
$questionTwo = new Question("Who is the CEO of Apple, Inc?", "Tim Cook");
:我々は二つの異なる質問を作成する場合
$this->correctAnswer
:決定する
class Question
{
function __construct($question, $correctAnswer)
{
$this->question = $question;
$this->correctAnswer = $correctAnswer;
}
function answerQuestion($answer)
{
if ($answer == $this->correctAnswer) {
return true;
} else {
return false;
}
}
}
お知らせ答えは、我々はに対して提供する答えを比較正しいかどうか同じ回答を返すと、異なる結果が得られます:
$isCorrect = $questionOne->answerQuestion("Tim Cook"); // FALSE
$isCorrect = $questionTwo->answerQuestion("Tim Cook"); // TRUE
これは、$this
が使用されているインスタンスを参照しているためです。
したがって、クラス内では$this
を使用します。 クラス外では、オブジェクト名を使用します。この場合:$questionOne
または$questionTwo
私は事を明確にするのに役立ちます。
あなたは何を試しているのか、何が必要なのかをコードで表示できますか? –
http://php.net/manual/en/language.oop5.basic.phpで始める –