2017-07-06 12 views
0

このコードは機能しません。 $ _GET変数は設定されていますが、このコードは常に$ model、$ manufacturerなどを空として返します。私は間違って何をしていますか?

<?php  
class Tiles extends Phones { 
    private $model; 
    private $manufacturer; 
    private $all; 

    function __construct() { 
     $this->model = $_GET['model'] ?? null; 
     $this->manufacturer = $_GET['manufacturer'] ?? null; 
     $this->all = $_GET; 
    } 

    function showEntry() { 
     echo $model; 
    } 
} 
?> 

これは__constructメソッドを使用して、私の最初の時間ですので、私は何かを明らかに欠けている場合は、正しい方向に私をポイントしてください。

編集:showEntry()メソッドで$ _GET ['model']などを使用するだけで、追加する必要があります。

+3

'echo $ this-> model' –

+0

このコンストラクタを' $ _GET'で見ると泣きたいです... 2017 – voodoo417

+0

どうしたらいいですか? – moatist

答えて

3

echo $model;の代わりにshowEntry()の代わりにecho $this->model;を入力する必要があります。

+0

おっとありがとう、私はこれを逃したとは信じられません。ありがとうございました! – moatist

+0

それを設定する最も簡単な方法は何ですか?私は単に$ modelなどを呼び出すことができますか? – moatist

+0

これは、PHPでのオブジェクト指向プログラミングの仕組みではありません。 '$ model'は' Tiles'クラスのprivateとして宣言されています。クラスの中で変数が '$ this->'によって呼び出されたとき、 '$ this->'を使わないと 'showEntry()'スコープの '$ model'しか参照していません。 – McRed

関連する問題