2017-04-18 95 views
0

所以我迁移我的应用程序从symfony的2.8至3 symfony的,所以我开始,但固定弃用像迁移指南迁移到symfony的3创建可变类类型名形式

$form = $this->createForm(new MyType()) 

更改此

$form = $this->createForm(MyType::class); 

但在我的代码,我的类型类的名称作为变量

$frmType = "\\Form\\".$risq->getName().'ProduitType'; 
$form = $this->createForm(new $frmType(), $ent); 

我已经不知道如何改变这种修复方法已过时:(

回答

1

get_class应该给你你需要的东西,包括名字空间。

$frmTypeClass = get_class($risq); 
$form = $this->createForm($frmTypeClass, $ent); 
+0

由于它的工作:)但我们应该给get_class的对象,而不是一个字符串,所以当我用'$ frmTypeClass = get_class(新$ frmType()); '它工作得很好。非常感谢 – Chaaaaz

+0

很高兴它的工作,并感谢发现错误。 – StuBez

0

你不能只是做$ frmType或$ frmType ::类?

+0

我已经尝试过,但它不工作'解析错误:语法错误,意想不到的 '阶级'(T_CLASS),预计标识符(T_STRING)或变量(T_VARIABLE)或 '{' 或 '$'' – Chaaaaz