当前位置: 首页 > news >正文

symfony框架学习

http://mozilla.com.cn/thread-52722-1-1.html安装网页翻译插件


symfony2是基于php的web框架

http://www.chrisyue.com/symfony2-in-action-day-1.html

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

转载于:https://www.cnblogs.com/spectrelb/p/5999165.html

相关文章:

  • 趣解curl
  • CentOS更改yum源与更新系统
  • C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)
  • CSS3盒模型-display:box
  • 2016 10 28考试 dp 乱搞 树状数组
  • Mac 下安装运行Rocket.chat
  • 阶段2-新手上路\项目-移动物体监控系统\Sprint1-声音报警子系统开发\第3节-嵌入式播放器移植...
  • 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
  • Java各种排序算法详解
  • php底层运行原理
  • python之map、filter、reduce、lambda函数 转
  • Linux 命令行总结
  • jquery.spinner数字智能加减插件源代码效果
  • 关键字提取算法TF-IDF
  • 微软Madoko常见问题总结
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • bearychat的java client
  • canvas绘制圆角头像
  • chrome扩展demo1-小时钟
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • go append函数以及写入
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JS变量作用域
  • js学习笔记
  • Laravel 菜鸟晋级之路
  • PHP的Ev教程三(Periodic watcher)
  • Vue全家桶实现一个Web App
  • 如何进阶一名有竞争力的程序员?
  • 实现菜单下拉伸展折叠效果demo
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 云大使推广中的常见热门问题
  • 如何用纯 CSS 创作一个货车 loader
  • ​configparser --- 配置文件解析器​
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​flutter 代码混淆
  • ​插件化DPI在商用WIFI中的价值
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Panda3d 碰撞检测系统介绍
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • $ git push -u origin master 推送到远程库出错
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET关于 跳过SSL中遇到的问题
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .net项目IIS、VS 附加进程调试
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @JSONField或@JsonProperty注解使用
  • [2669]2-2 Time类的定义