ICHARM
symfony2成长笔记之POST,GET
symfony2成长笔记之POST,GET

symfony2成长笔记之安装

symfony2成长笔记之HelloWorld

相信裸写PHP的童鞋一定非常熟悉PHP中的$_POST和$_GET,这两个全局变量可以非常方便的帮我们在不同的页面之间传递数据,现在哀差闷要记录的就是在symfony2的控制器中获取POST或者GET过来的数据。

新建Bundle

这里哀差闷新建了一个Demo\RequestBundle,新建Bundle的方法在上一篇HelloWorld中有介绍,这里就不重复了,配置文件的形式还是annotation。

 

DefaultView

找到新建的RequestBundle,打开/RequestBundle/Resources/views/Default/index.html.twig(默认的视图文件),里面默认的内容为Hello Word!,将其改为Hello {{ name }} ! 这里两个大括号是Twig模板引擎的语法,简单的理解就是将传到模板的数组中键名为name的值来代替他。这里的作用是用来显示get或post获取到的数据。

 

DefaultController

打开/RequestBundle/Controller/DefaultController.php, 哀差闷使用的是sublime 来进行编辑,需要安装两个symfony2的插件。不然写起来比较困难,或者使用phpStrom这种集成的IDE。

<?php

namespace Demo\RequestBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;   //命名空间 一定要引入
use Symfony\Component\HttpFoundation\Response;                   //命名空间 一定要引入

class DefaultController extends Controller
{
    /**
     * @Route("demo/request")    //指定了这个函数的路由地址为demo/request
     * @Template()               //指定了这个函数使用默认的视图模板(没有参数传入)
     */
    public function indexAction()
    {
        //这里的get并不是指获取GET过来的数据的意思,而是get这个单词本身的意思,就是拿、取得,
        //因为在symfony中这样既可以获取GET过来的参数也可获取POST过来的参数
    	$action = $this->getRequest()->get("ac");     //获取GET过来的数据或者POST过来的参数
        
        return array('name' => $action);             //将数据返回给视图
    }
}

获取GET数据截图:

http://www.icharm.me/wp-content/uploads/2016/12/QQ20161213-2.png

可以使用httpIe这个命令行工具发起POST请求来测试:

http://www.icharm.me/wp-content/uploads/2016/12/QQ20161213-1.png

 

 

 

发表评论

textsms
account_circle
email

ICHARM

symfony2成长笔记之POST,GET
symfony2成长笔记之安装 symfony2成长笔记之HelloWorld 相信裸写PHP的童鞋一定非常熟悉PHP中的$_POST和$_GET,这两个全局变量可以非常方便的帮我们在不同的页面之间传递数据,现在哀…
扫描二维码继续阅读
2016-12-22