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 Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

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');
}
 在控制器里跳同控制器的方法 还带传参

 




 

symfony框架学习的更多相关文章

  1. Yii框架学习 新手教程(一)

    本人小菜鸟一仅仅,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...

  2. Symfony 框架实战教程——第一天:创建项目(转)

    这个系列的实战博客真是太有用了,很多例子自己调试也是通的,不同于很多网上不同的实战例子...附上原文地址  https://www.chrisyue.com/symfony-in-action-day ...

  3. Symfony4中文文档: 安装和设置Symfony框架

    安装和设置Symfony框架 要创建新的Symfony应用程序, 首先确保使用的是PHP7.1 或更高版本并且已经安装Componser. 如果未安装, 请首先在系统上全局安装Componser. 如 ...

  4. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

  5. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  6. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

  7. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  8. web框架学习列表

    转载自鲁塔弗的博客,原文网址:http://lutaf.com/148.htm web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的 ...

  9. 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理

    Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...

随机推荐

  1. Deployer 的使用

    假设我们的项目在本地 /www/demo-project 下,那么我们切换到该目录: $ cd /www/demo-project 然后执行 Deployer 的初始化命令: $ dep init 它 ...

  2. JUC---09异步回调

    一.相关概念 Java的过程是阻塞的,因此要实现异步回调,需要多线程的支持.要实现回调,B函数在不知道A函数具体实现的情况下能够调用A函数,这是一种多态,需要接口来实现.下面实现一个简单的Java回调 ...

  3. 二叉树、平衡二叉树、B-Tree、B+Tree 说明

    背景 一般说MySQL的索引,都清楚其索引主要以B+树为主,此外还有Hash.RTree.FullText.本文简要说明一下MySQL的B+Tree索引,以及和其相关的二叉树.平衡二叉树.B-Tree ...

  4. Mybatis入门 Mybatis存在的意义 解决的问题 基本操作

    Mybatis入门 Mybatis的作用 解决的问题 基本操作 为什么要学MyBatis 我们链接操作数据库需要做的步骤 package Test; import java.sql.*; public ...

  5. BCVP,想真正为社区做努力的开发者们

    基于Net/Core,快速搭建 API & SPA 及微服务应用组织 BASE NETCORE (VUE) PROJECT TEAM 每一个.NET开发者都可以通过自己的开源项目(最好可以配套 ...

  6. MYSQL字段

    这里我的测试环境是wampserver 选择数据库 选择表 或者创建数据库和表 SHOW DATABASES; 查看数据库 CREATE DATABASE 数据库名; 创建数据库 在 MySQL 中, ...

  7. JavaScript的原型对象prototype、原型属性__proto__、原型链和constructor

    先画上一个关系图: 1. 什么是prototype.__proto__.constructor? var arr = new Array; 1. __proto__是原型属性,对象特有的属性,是对象指 ...

  8. 2.while循环

    while循环 #-*- coding: utf-8-*- #指定识别utf-8的字符串 1.while循环以及跳出循环 while True: #无限循环 print('i love pyhon') ...

  9. Jquery禁用DIV鼠标右键

    $("#mp4").bind("contextmenu", function (e) { return false; });

  10. 经典c程序100例==71--80

    [程序71] 题目:编写input()和output()函数输入,输出5个学生的数据记录. 1.程序分析: 2.程序源代码: #define N 5 struct student { char num ...