【问题标题】:How can I return response from service controller?如何从服务控制器返回响应?
【发布时间】:2014-04-15 22:01:14
【问题描述】:

我有一个使用类似服务的控制器,我需要向主控制器返回一个数组响应。 我不知道该怎么做......

我的 service.yml:

parameters:
    check.usuari.class: Acme\UsuariBundle\Controller\CheckUserController

services:
    usuari:
        class: Acme\UsuariBundle\Controller\DefaultController
    check.usuari:
        class: "%check.usuari.class%"

我的控制器(服务):

<?php

namespace Acme\UsuariBundle\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;

use Acme\UsuariBundle\Entity\Usuari;

class CheckUserController
{

    public function isUserLoggedInAction(Request $request){
        $sessio = $request->getSession()->get('gesaudit');
        if(!$sessio){
            return new JsonResponse(array('error'=>true));
        }

    }


}

我的主控制器:

<?php

namespace Acme\IniciBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Validator\Constraints\DateTime;

use Acme\IniciBundle\Entity\FraseSabiesque;

class DefaultController extends Controller
{

    public function indexAction(){


        $asd = $this->forward('check.usuari:isUserLoggedInAction');
   }
}
?>

$asd 变量不显示数组。 我需要获取数组来显示一个视图或另一个视图。

【问题讨论】:

    标签: symfony service controller


    【解决方案1】:

    好的,我做到了!

    要将信息从服务返回到控制器,这是正确的方法:

     $response = new JsonResponse();
                $response->setData(array(
                    'error'=>true,
                    'url'=>'user_login',
                ));
    
                return $response;
    

    为了在控制器中获取它,我现在使用:

    $checkUser = $this->forward('check.usuari:isUserLoggedInAction');
            $checkUser = json_decode($checkUser->getContent());
            if($checkUser->error){
                return $this->redirect($this->generateUrl($checkUser->url));
            }
    

    谢谢大家!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多