プロパティを定義するときに、プロパティをオブジェクトとして型キャストすることは可能ですか?たとえば、$ arrayは有効ですが、オブジェクトを使用して2回試みても有効ではありません。
ありがとうございました
class xxx
{
public $array=array(),
$object1=new stdClass(),
$object2=object()
}
プロパティを定義するときに、プロパティをオブジェクトとして型キャストすることは可能ですか?たとえば、$ arrayは有効ですが、オブジェクトを使用して2回試みても有効ではありません。
ありがとうございました
class xxx
{
public $array=array(),
$object1=new stdClass(),
$object2=object()
}
いいえ、PHPではそれができません。オブジェクトをクラスプロパティに割り当てることができる唯一の方法は、クラスメソッドを使用することです。
オブジェクトの初期化時に空のクラスをクラスプロパティに割り当てたい場合は、このトラフコンストラクターメソッドを実行できます。
class xxx {
public $array = array();
public $object1;
public function __construct() {
$this->object1 = new stdClass();
}
}
クラス定義はPHPのコンパイル時に実行されるため、これは不可能です。現時点では、式は翻訳されていません。つまり、文字列、float、int、配列などの直接割り当てのみが許可されます。
ランタイムとコンパイル時間を参照してください