私はPHPでOOPにおける新たなんだと私はそのように私のクラスにインスタンス変数を宣言することはできませんなぜ私は思ったんだけど私はそれを正しく使うことができます。変数に "public"修飾子を追加すると、PHPファイルには何も表示されません(エラーなし、白い空白の画面のみ)。文字列を関数に直接書き込むときはすべて動作しますが、インスタンス変数を使用して試してみたかったのです。
私はこの問題を自分で解決しようとしましたが、解決策は見つかりませんでした。だから、あまりにも怒ってはいけない。
私はPHPでOOPにおける新たなんだと私はそのように私のクラスにインスタンス変数を宣言することはできませんなぜ私は思ったんだけど私はそれを正しく使うことができます。変数に "public"修飾子を追加すると、PHPファイルには何も表示されません(エラーなし、白い空白の画面のみ)。文字列を関数に直接書き込むときはすべて動作しますが、インスタンス変数を使用して試してみたかったのです。
私はこの問題を自分で解決しようとしましたが、解決策は見つかりませんでした。だから、あまりにも怒ってはいけない。
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;
}
}
ありがとう、あなたの答え:)。家に帰るとすぐに試してみるよ。 – CheNativara
私は今すべてをやって、それは働いた。もう一つ質問があります。 $ this-> nameを変数の前に$を付けずに呼び出す必要がありますか?なぜなら、構文に合わないからです。 – CheNativara
はい、 "this"の前の$は重要です;-)実際にはここの最初の例です:http://php.net/manual/de/language.oop5.basic.php – clemens321
ようこそStackOverflow! [良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)を読んで、質問にコードを投稿してください。 –
インスタンス変数 '$ name'のアクセス指定子(* public *、* private *または* protected *)を宣言してください。そしてあなたの 'returnName()'メソッドでは、 'return $ name'の代わりに' return $ this-> name; 'を実行してインスタンスのプロパティを返します。 –