、私はそうのようなワンステップでオブジェクト(あるstdClassの新しいインスタンス)を宣言する能力が好き:クラス/特性のプロパティとして(オブジェクト)に配列をキャストする方法はありますか? PHPで
$obj = (object) ['a','b','c'];
これは素晴らしい作品...クラスのプロパティとしてしかし:
class Foo {
public $obj = (object) ['a','b','c'];
}
私は次のエラーを取得する:
syntax error, unexpected '(object)' (object) (T_OBJECT_CAST)
ですこれを達成する別の方法を再?そして、誰かがなぜ上記のコードが許可されていないのかを知っていますか?どこでも特定のドキュメントを見つけることができませんでした。
コンストラクタ内にキャストしようとしましたか? – JavaMachine
私はあなたが少なくとも私が知っているように、私は新しいバージョンでこの表記法が追加されているかわからない、PHPでjson記法を使用することはできないと思う。次に、オブジェクトにキャストしたい場合は、配列をassoc配列に変換する必要があると思います。 – NoImaginationGuy
特に、特性を使用すると、1ライナーのキャストアプローチは非常に便利です。オブジェクトを定義して設定するための方法は他にありませんそれ(AFAIK)。そして、形質と組み合わされたコンストラクタの実装はまっすぐな悪いニュースなので、私は配列で生きなければならないでしょう。 –