私はmyobject
のプロパティが既に宣言されようとしていることがわかっている場合は、次のように、なぜ私は何かを行うことはできません。オブジェクトの未定義のプロパティを定義使用して()
define('title','boats');
myobject->title
。
が、これは動作します:
myobject->boats
このでも良い習慣ですか?これはあなたのオブジェクトのtitle
プロパティにアクセスしようとしているよう
私はmyobject
のプロパティが既に宣言されようとしていることがわかっている場合は、次のように、なぜ私は何かを行うことはできません。オブジェクトの未定義のプロパティを定義使用して()
define('title','boats');
myobject->title
。
が、これは動作します:
myobject->boats
このでも良い習慣ですか?これはあなたのオブジェクトのtitle
プロパティにアクセスしようとしているよう
あなたは
$myobject->title
を使用することはできません。このプロパティが存在しない場合、エラーが発生します。
あなたがアクセスすると、使用どのプロパティを知っているだろう、あなたは
$myobject->{title}
使用することができますが、私はむしろ理想的に、あなたは定数の代わりに変数を使用するなど
$title = 'boats';
echo $myobject->$title;
を参照してくださいねその名の適切
$myobject->boats
なぜ私ができます私のオブジェクトのプロパティがすでに宣言されていることを知っているときは、次のようなことをしないでください:
おそらく、PHPはメソッド名で呼び出すことを期待しているからです。オプションは、しかし、があります。
<?php
define('METHOD', 'bar');
class Foo {
public function bar() {
echo "Foo->bar() called.\n";
}
}
$foo = new Foo;
call_user_func(array($foo, METHOD));
// or
$method = METHOD;
$foo->$method();
EDIT:ああ、私は誤解があるようです。私のバージョンは、名前を定数で定義したメソッドを呼び出すためのものですが、プロパティを呼び出す方法を探していました。とにかく、将来の参照のためにここに残しておきます。