2016-05-09 8 views
-5

enter image description herePHPインスタンス変数のdoesntの仕事

enter image description here

enter image description here

私はPHPでOOPにおける新たなんだと私はそのように私のクラスにインスタンス変数を宣言することはできませんなぜ私は思ったんだけど私はそれを正しく使うことができます。変数に "public"修飾子を追加すると、PHPファイルには何も表示されません(エラーなし、白い空白の画面のみ)。文字列を関数に直接書き込むときはすべて動作しますが、インスタンス変数を使用して試してみたかったのです。

私はこの問題を自分で解決しようとしましたが、解決策は見つかりませんでした。だから、あまりにも怒ってはいけない。

+2

ようこそStackOverflow! [良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)を読んで、質問にコードを投稿してください。 –

+0

インスタンス変数 '$ name'のアクセス指定子(* public *、* private *または* protected *)を宣言してください。そしてあなたの 'returnName()'メソッドでは、 'return $ name'の代わりに' return $ this-> name; 'を実行してインスタンスのプロパティを返します。 –

答えて

0

return $name;は、関数/メソッドのスコープ内で変数$ testを検索します。クラスプロパティにアクセスするには、次のように指定する必要があります。

class recipeapi 
{ 
    // add visibility keyword here 
    private $name = 'Felix'; 

    // kind of standard is to use get...(), but return...() works the same way 
    public function getName() 
    { 
     // use $this->varname if you want to access a class property 
     return $this->name; 
    } 
} 
+0

ありがとう、あなたの答え:)。家に帰るとすぐに試してみるよ。 – CheNativara

+0

私は今すべてをやって、それは働いた。もう一つ質問があります。 $ this-> nameを変数の前に$を付けずに呼び出す必要がありますか?なぜなら、構文に合わないからです。 – CheNativara

+0

はい、 "this"の前の$は重要です;-)実際にはここの最初の例です:http://php.net/manual/de/language.oop5.basic.php – clemens321

関連する問題