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"));
    }
posted @ 2019-12-17 10:05  Jarming  阅读(247)  评论(0)    收藏  举报