symfony-表单学习

---恢复内容开始---

构成表单的几个元素

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; //添加一个字段测试

 

posted @ 2019-03-09 20:27  _Ennio  阅读(330)  评论(0编辑  收藏  举报