zoukankan      html  css  js  c++  java
  • symfony框架学习


    symfony2是基于php的web框架

    Symfony2框架实战教程

     
    window下安装
    在环境变量里面配置php,然后用php在cmd里面执行
    php -r "file_put_contents('symfony', file_get_contents('https://symfony.com/installer'));"
    上句执行好了,在执行这句,是创建一个新的symfony工程:php symfony new my_project_name
     
    form表单的写法
    2点级版本的写法
     $form=$this->createFormBuilder($task)
                ->add('task','text')
                ->add('dueDate','date')
                ->add('save','submit',array('label'=>'Create Task'))
                ->getForm();
    3.0以上的写法
    $form = $this->createFormBuilder($task)
    ->add('task', TextType::class)
    ->add('dueDate', DateType::class)
    ->add('save', SubmitType::class, array('label' => 'Create Task'))
    ->getForm();
    需要引入
    
    
    use SymfonyComponentFormExtensionCoreTypeTextType;
    use SymfonyComponentFormExtensionCoreTypeDateType;
    use SymfonyComponentFormExtensionCoreTypeSubmitType;
    
    
    return $this->redirectToRoute('login_index');重定向
    注册用的是orm映射
    //这个方法是创建出一个注册的form表单
    public function indexAction(Request $request)
    {
    $user = new User();

    $form = $this->createFormBuilder($user)
    ->setAction($this->generateUrl('register_register'))
    ->setMethod('post')
    ->add('username', TextType::class)
    ->add('password', PasswordType::class)
    ->add('email', TextType::class)
    ->add('phone', TextType::class)
    ->add('gender', TextType::class)
    ->add('save', SubmitType::class, array('label' => 'Register'))
    ->getForm();

    return $this->render('register/index.html.twig', array(
    'form' => $form->createView()
    ));
    }
    
    
    //V层twig展现出来
    {{ form_start(form) }}
    {{ form_widget(form) }}
    {{ form_end(form) }}
    
    
    //这个方法是得到form表单是数据,得到的form是一个对象,要转化成数组,然后插入到数据库
    public function registerAction(Request $request)
    {

    $user = new User();

    $user->setLoginIp($request->getClientIP());//得到本机的IP地址
    $user->setLoginTimes(new DateTime('now'));//得到当前时间
    $form = $this->createFormBuilder($user)
    ->add('username', TextType::class)
    ->add('password', PasswordType::class)
    ->add('email', TextType::class)
    ->add('phone', TextType::class)
    ->add('gender', TextType::class)
    ->getForm();

    $form->handleRequest($request);

    $data = $form->getData();
    json_encode($data);

    $em = $this->getDoctrine()->getManager();
    $em->persist($user);
    $em->flush();

    return $this->redirectToRoute('login_index');
    }
     在控制器里跳同控制器的方法 还带传参
    
    
     
    
    
    
    
    
    
    
    
     
  • 相关阅读:
    git ssh key创建和github使用
    PHP7安装pdo_mysql扩展
    linux + centos 安装php7.2.7 + swoole 4.0.3
    linux 安装 sphinx+mariadb
    《高效会议的“九三”法则— 向三星学会如何开好会议》
    java高级教程 注入装配问题
    java高级教程 圆 圆柱 面积
    关于二叉树和栈
    用层序遍历求二叉树的wpl值
    线索二叉树的构造
  • 原文地址:https://www.cnblogs.com/spectrelb/p/5999165.html
Copyright © 2011-2022 走看看