controller

$a = $this->getRequest()->getSession()->get("c");

 

controller

按個人理解來講,就是獲取request以後進行的一系列轉換,轉換成response的這個過程php

各類類使用以前必須use包含進來數據庫

request

這裏是經過getRequest() 類的一系列方法來獲取的,

例,傳入http://www.....com/1?a=2;   這裏能夠經過

getRequest()->get('a');

來獲取get請求傳入的值,獲取url,判斷是不是http等等,json

這裏須要注意一點,若是request既有post也有get,而且有同名變量,獲取該變量的值時,get的優先級是高於post(即獲取的是get裏面的同名變量),不過通常也不會這樣設計緩存

response

即向外返回的數據,通常經過session

return new Response(); return new JsonResponse(); //json格式 return new RedirectResponse(); //跳轉到一個連接

來返回,查看源碼可知,相似於JsonResponse等都是對Response的封裝而產生的一個類,更爲定製化的類。框架

 

controller---session

如何調用session,舉個例子,post

首先經過getSession()下的方法進行設置,刷新界面,this

$this->getRequest()->getSession()->set("c",1000);   

 這裏緩存裏有了c的值,再經過getSession()下的get方法來獲取c的值url

$a = $this->getRequest()->getSession()->get("c");

 另外一個例子,getSession 下的getFlashBag能夠用來進行錯誤信息的輸出spa

 

$this->getRequest()->getSession()->getFlashBag()->add(
   "message" 
);

 調用時候經過foreach一層一層的進行調用,調用結束以後session會被自動銷燬

ps:可是2.3版本的不知道爲何沒有getFlashBag這個方法,可是經過查找Session類能夠看到Sessioin類裏面是有getFlashBag這個方法的,是由於Session繼承了SessionInterface,可是他額外寫了一個

getFlashBag方法,具體參見  https://www.imooc.com/qadetail/60612

service

目前只作簡單理解,和類很類似,好比這裏要進行連接數據庫,查詢數據庫等一系列操做,將這些操做通通封裝爲一個服務,

調用的時候只須要實例化一個類而後調用相應的方法便可,很常見。使用symfony框架是就會常常調用各類service. 

相關文章
相關標籤/搜索