symfony2 学习2 表单创建 使用
来源:互联网 发布:java小轮径公路车 编辑:程序博客网 时间:2024/05/02 15:07
第一步 使用 命令 创建 实体类
php bin/console doctrine:generate:entity
<?phpnamespace AppBundle\Entity;use Doctrine\ORM\Mapping as ORM;/** * ApiType * * @ORM\Table(name="api_type") * @ORM\Entity(repositoryClass="AppBundle\Repository\ApiTypeRepository") */class ApiType{ /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="title", type="string", length=255) */ private $title; /** * @var int * * @ORM\Column(name="status", type="integer", nullable=true) */ private $status; /** * @var \DateTime * * @ORM\Column(name="updated_at", type="datetime") */ private $updatedAt; /** * @var \DateTime * * @ORM\Column(name="created_at", type="datetime") */ private $createdAt; /** * Get id * * @return int */ public function getId() { return $this->id; } /** * Set title * * @param string $title * * @return ApiType */ public function setTitle($title) { $this->title = $title; return $this; } /** * Get title * * @return string */ public function getTitle() { return $this->title; } /** * Set status * * @param integer $status * * @return ApiType */ public function setStatus($status) { $this->status = $status; return $this; } /** * Get status * * @return int */ public function getStatus() { return $this->status; } /** * Set updatedAt * * @param \DateTime $updatedAt * * @return ApiType */ public function setUpdatedAt($updatedAt) { $this->updatedAt = $updatedAt; return $this; } /** * Get updatedAt * * @return \DateTime */ public function getUpdatedAt() { return $this->updatedAt; } /** * Set createdAt * * @param \DateTime $createdAt * * @return ApiType */ public function setCreatedAt($createdAt) { $this->createdAt = $createdAt; return $this; } /** * Get createdAt * * @return \DateTime */ public function getCreatedAt() { return $this->createdAt; }}
第二部 创建对应的控制器
<?phpnamespace AppBundle\Controller;use Symfony\Bundle\FrameworkBundle\Controller\Controller;use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\RedirectResponse;use AppBundle\Entity\ApiType;use AppBundle\Form\ApiTypeType;/** * @Route("/apitype"); */class ApiTypeController extends Controller{ /** * @Route("/index",name="apitype_index") */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $qb = $em->getRepository('AppBundle:ApiType')->createQueryBuilder('n'); $paginator = $this->get('knp_paginator'); $pagination = $paginator->paginate($qb, $request->query->getInt('page', 1),3); return $this->render('AppBundle:ApiType:index.html.twig', array( 'pagination' => $pagination, )); } /** * @Route("/store") */ public function storeAction(Request $request) { $apitype = new ApiType(); $form = $this->createForm(ApiTypeType::class, $apitype); if ($request->getMethod()=='POST') { $form->handleRequest($request); if($form->isValid()){ $em=$this->getDoctrine()->getManager(); $em->persist($apitype); $em->flush(); return $this->redirect($this->generateUrl('apitype_index'), 301); } } return $this->render('AppBundle:ApiType:store.html.twig', array( // ... 'form' => $form->createView(), )); } /** * @Route("/delete") */ public function deleteAction() { return $this->render('AppBundle:ApiType:delete.html.twig', array( // ... )); }}
第三部 创建对应的form
<?phpnamespace AppBundle\Form;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;use Symfony\Component\Form\Extension\Core\Type\SubmitType;use Symfony\Component\Form\Extension\Core\Type\DateTimeType;class ApiTypeType extends AbstractType{ /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title') ->add('status') ->add('updated_at', DateTimeType::class) ->add('created_at', DateTimeType::class) ->add('save', SubmitType::class) ; } /** * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'AppBundle\Entity\ApiType' )); }}
第四部 创建对应的view
{% extends 'admin.html.twig' %}{% block body %}<div class="row wrapper border-bottom white-bg page-heading"> <div class="col-lg-12"> <h1></h1> <ol class="breadcrumb"> <li> <a href=""> 用户管理</a> </li> <li> <a href="">添加用户</a> </li> </ol> </div> </div> <div class="wrapper wrapper-content animated fadeInRight"> <div class="row"> <div class="col-lg-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> <div class="ibox-tools"> <a class="collapse-link"> <i class="fa fa-chevron-up"></i> </a> </div> </div> <div class="ibox-content"> {{ form_start(form) }}{{ form_widget(form) }}{{ form_end(form) }} </div> </div> </div> </div> </div> {% endblock %}
0 0
- symfony2 学习2 表单创建 使用
- 使用 Netbeans 创建 Symfony2 项目
- Symfony2 -- Bundle创建与使用
- Symfony2 表单
- Symfony2表单
- 使用PHP composer创建Symfony2框架项目
- Symfony2 学习笔记之模板使用
- PHP框架:Symfony2学习笔记(2)
- 使用 Symfony2 的组件创建自己的 PHP 框架
- Symfony2学习视频地址
- symfony2学习资料
- symfony2 学习笔记
- symfony2学习笔记-路由
- Symfony2函数使用
- Symfony2中使用AngularJS
- Symfony2 安装与使用
- symfony2 EventDispatcher组件使用
- Symfony2 表单项添加onclick事件
- Service-四大组件之一
- Loss和神经网络训练
- Android桌面插件Widgets
- Canvas填充样式fillStyle
- Android动画进阶(Interpolator)
- symfony2 学习2 表单创建 使用
- Ant 替换某一文件中的字符串
- pc直接粘贴到div图片
- docker-compose的一个坑
- 使用android-ndk编译SDL
- c++第6次试验
- Android 沉浸式状态栏攻略 让你的状态栏变色吧
- Tomcat发布路径研究
- String的hashcode(java)