渡された変数のタイプをジェネリックオブジェクトとして定義する必要がありますが、どうすればよいですか?
試した:
public function set($service = null, (object) $instance) {
[..]
}
助けることができstdClass
ますか?どのように?
ありがとう!
いいえ、オブジェクトは何らかのクラスでなければなりません。オブジェクトのタイプとして任意のクラス名を指定できます
public function set($service = null, ClassName $instance) {
//now the instance HAS to be the object of the class
}
または、基本的なトリックは、基本的なクラスを自分で作成することです
Class GenericObject {}
$myobj = new GenericObject();
$myobj -> myCustomVar = 'my custom var';
//Now send it
public function set($service = null, GenericObject $instance) {
[...]
}
いいえ、php では、すべてのクラスが共通の祖先から派生しているわけではありません。
したがって、現在のphpの実装を使用して「任意のクラスのオブジェクト」を指定できるとは思えません
ガブリエル、
変数がオブジェクトかどうかを確認したい場合は、次のようにします。
public function set($service = null, $instance) {
if (!is_object($instance)) return null; //or whatever
[..]
}
それで何を防ごうとしているのですか?宣言では、変数がオブジェクトでない場合に例外が発生します (キャストされません)。