---恢复内容开始---
构成表单的几个元素
1.数据模型 M
一种比较抽象的概念,按我的理解来说,本质上就是数据的一种存在形式,可以看做一个类,一般对这些模型进行crud操作。一种是真实存在的数据模型,最终要存储到数据库当中的数据,另一种
是虚拟的数据模型,构建出来是为了进行临时处理,比如网页搜索框输入的内容,最终并不会存储到数据库当中,是为了进行页面的临时处理而进行的, 或者是为了构建数据而设计的
模型,程序和程序之间的枢纽。并且数据模型有自身的属性和限制条件,比如搜索操作或者用户注册操作是有一定限制的,不能输入不合理的数据,example,手机号码为11位
2.V 表单的hrml,js,css等
用于设置表单的格式,让表单更为美观,可以使用一些现有的html框架,比如网页上的搜索框,一些框架就可以设置候选项等,
3.C 负责处理业务逻辑的代码,通过表单提交数据之后,进行的增删改查等操作,注意这里逻辑分为自身的业务逻辑或者数据模型当中的业务逻辑
...之前好像没有在twig里面配置html代码,所以程序无法正常运行,等之后再说吧,
早上写了忘记保存,后面写的没有了,有点粗心,,,,先放一些代码供自己以后参考吧
public function indexFunction(){
$user = new User();
$form = $this->createFormBuilder($user) //创建关于user的表单, 并设置要添加的属性,
->setAction($this->generateUrl('abc')) //像abc路由对应的方法提交表单方法为get
->setMethod('GET')
->add('email')
->add('password','password')
->add('submit','submit',array('attr'=>array('formnovalidate'=>'formnovalidate')))
->add('file','file') //上传文件
->getForm(); //获取表单,并在关闭html5的表单验证
$form->handleRequest($this->getRequest()); //让symfony对表单的请求进行验证操作
if($form->isValid()){ //如果验证合法的话,就更新入数据库当中
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
}
return array('form'=>$form->createView()); //显示表单
}
/**
* @ORM\Column(type="integer",nullable=true)
* @Assert\Length(min=1,max=5)
* 在entities里面设置验证规则
*/
protected $age; //添加一个字段测试