私はこれを1時間以上理解しようとしてきましたが、進歩がありません...
次のフォームとその唯一のフィールドがあります。
<?php
$builder
->add('cars', 'collection', array(
'type' => new CarType(),
//'property_path' => '[cars]',
'required' => false,
))
;
このフォームは配列を受け取り、1 つのキー「cars」が Car オブジェクトの配列を指します (これらは CarType() によって適切に処理されます)。
このフォームにデータを設定すると、プロパティ パスの解析エラーが表示され、プロパティ パス "[]" が無効で解析できないことが示されます。上記のproperty_pathオプションのコメントを外すと、同じエラーになることに注意してください(デフォルトを表示するためにそこに置いただけです)。
- [] のプロパティ パスを使用しているのはなぜですか?
- どうすればこれを修正できますか?
注: これは、PHP 5.4 を使用する 1 つの環境では問題なく動作し、私のすべての PHP 5.3 環境では失敗します。
助けてくれてありがとう。
詳しくは:
例外: 「プロパティ パス "[]" を解析できませんでした。予期しないトークン "[" が位置 0 にあります」
/vagrant/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyPath.php の 125 行目