程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> symfony2 controller,symfony2

symfony2 controller,symfony2

編輯:關於PHP編程

symfony2 controller,symfony2


1、基本概念

一次http請求    輸入(Request):header信息、get信息、post數據等

                     輸出(Response):symfony經過處理返回的信息,包括頁面、json字符串、URL跳轉等

2、Request

$this->getRequest()

httpie工具

HTTPie (讀aych-tee-tee-pie)是一個 HTTP 的命令行客戶端。其目標是讓 CLI 和 web 服務之間的交互盡可能的人性化。

安裝參考http://blog.csdn.net/pzw_0612/article/details/46521965

http://www.cnblogs.com/huangjacky/archive/2012/03/28/2421866.html

用httpie模擬表單提交(post)

>http -f post http://localhost:8000/app_dev.php/page/test name=lily

3、Response

<?php

namespace Scource\WebBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;use Symfony\Component\HttpFoundation\Response;//注意不要引用錯
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;

class DefaultController extends Controller
{
    /**
     * @Route("/page/test1")
     */
    public function test1Action(){
     //不使用模板,直接輸出內容或者跳轉 //return new RedirectResponse('http://www.cnblogs.com/tianxintian22/');重定向 //return new JsonResponse(array('a'=>'abcdef'));返回json串 return new Response('11111111111'); } }

 4、session

$this->getRequest()->getSession()->set('b', 'ni hao!');
$this->getRequest()->getSession()->get('b');

如果不能正確獲取到session的值,可能是app/cache/dev目錄下session的權限不對。

//調用flashmessage,只能顯示一次就被拋棄,一般用在表單用戶信息提示
//php
$this->getRequest()->getSession()->getFlashBag()->add('notice','you have something wrong');

//twig
{% for flashMessage in app.session.flashbag.get('notice') %}
    <div class="flash-notice">
        {{ flashMessage }}
    </div>
{% endfor %}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved