2013-12-08 32 views
0

我可以問一個澄清?在我的文件的頂部,我用(Silex的情況下):
use Symfony\Component\Validator\Constraints as Assert;
PHP類實例從變量和使用關鍵字

可以說我有一個數組$asserts與聲稱的名字爲字符串:

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

當我試圖

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

我得到類斷言\ NotBlank()未找到,但是當我明確說明新實例時

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

一切正常。我究竟做錯了什麼?

編輯:我試過有和沒有() 並且還有類的完整路徑。

解決方案:一組完整應該使用沒有括號的路徑。

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

此致
卡米爾

+0

鬆散所述p在字符串中的類名稱末尾。 –

+0

什麼是確切的錯誤信息?這些類是否具有無參數構造函數? –

+0

是的,[API](http://api.symfony.com/master/Symfony/Component/Validator/Constraints/NotBlank.html) – Kamil

回答