我开始使用Symfony2并阅读我得到的学说实体生成器代码。使用了书中的例子:
php app/console doctrine:generate:entity --no-interaction --entity="AppBundle:Category" --fields="name=string(255)"
并且新实体是按预期创建的,但我注意到它生成了一些我不熟悉的PHP代码:
private $name=string(255);
和
public function setName=string(255)($name=string(255))
在声明变量或函数时,我从未见过字符串(255),当我运行时
php app/console doctrine:generate:entities AppBundle
它会在这些行上抛出致命分析错误。删除字符串(255)的东西解决了它。那么,Doctrine添加代码和我的PHP解释器配置是错误的,这样很好吗? Doctrine不应该添加该代码,还是应该在生成实体后将其删除?最后,删除该代码将来会产生影响吗?
谢谢,
答案 0 :(得分:2)
如果查看documentation for doctrine:generate:entity,您会看到声明字段的格式实际上是这样的:
... --fields="name:string(255)"
所以你必须使用:(冒号)来分隔类型的字段名称而不是等号。