0

1 つだけ説明をお願いできますか。私が使用したファイルの上部 (Silex コンテキスト):
use Symfony\Component\Validator\Constraints as Assert;

$assertsアサート名を文字列として持つ配列があるとしましょう。

'Assert\\NotBlank()', 'Assert\\Date()'

私がしようとしているとき

foreach($asserts as $constraint) {
  array_push($some_other_array, new $constraint)
}

Class Assert\NotBlank() not foundが表示されますが、新しいインスタンスを明示的に作成すると

foreach($asserts as $constraint) { 
  array_push($some_other_array, new Assert\NotBlank())
}

すべてが機能します。私は何を間違っていますか?

編集:クラスへのフルパスを使用して、使用せずに試しました。()

解決策:括弧なしのフルパスの配列を使用する必要があります。

'Symfony\Component\Validator\Constraints\NotBlank',
'Symfony\Component\Validator\Constraints\Date'

よろしく、
カミル

4

1 に答える 1