Symfony框架笔记
控制器获取前端传入的参数
$parameters = $request->request; $data = $parameters->all();
引用静态资源(js、css、img)
使用{{ asset("web下的地址") }}
使用Session服务
public function sessionAction(Request $request) { /*$request->get("");*/ //获取Session对象 $session = $request->getSession(); $session->set("foo",'value'); $foo = $session->get('foo','default_value'); //第二个参数默认值 //存储一个闪存,在下一个请求之前删除这个闪存,这样在跳到下一个动作之前输出这个信息 $this->addFlash('notice','成功'); //可以在模板中使用{{ app.session.flashbag.get('notice') }} }
判断请求类型
public function requestAction(Request $request) { //是否是ajax请求 $ixAjax = $request->isXmlHttpRequest(); //用户是什么语言环境 $request->getPreferredLanguage(array('en','fr')); //获取$_GET请求 $pageDataOfGet = $request->query->get('page'); //获取$_POST请求 $pagedataOfPost = $request->request->get('page'); }
返回json格式的数据
$data = array( 'lucky_number' => rand(0, 100), ); // 自动调用json_encode并设置Content-Type头 return new JsonResponse($data);
重定向
return $this->redirectToRoute('hello', array('name' => 'Fabien'));
生命周期管理功能用于自动更新创建时间和更新时间
@ORM\HasLifecycleCallbacks() private $createdAt; /** * @ORM\PrePersist() * Set createdAt * * @param \DateTime $createdAt * * @return shop */ public function setCreatedAt($createdAt) { $this->createdAt = new \DateTime(); return $this; } /** * @ORM\PrePersist() */ public function PrePersist(){ if($this->getCreatedAt() == null){ $this->setCreatedAt(new \DateTime("now")); } $this->setUpdatedAt(new \DateTime("now")); } /** * @ORM\PreUpdate() */ public function PreUpdate(){ $this->setUpdatedAt(new \DateTime("now")); }
————一切的一切都要从"Hello world"说起。