php – 检查请求中是否存在参数

我有这个功能
/**
 * @Secure(roles="IS_AUTHENTICATED_FULLY")
 * @Route("/chequearFabricantedistribuidor",name="chequearFabricantedistribuidor",condition="request.headers.get('X-Requested-With') == 'XMLHttpRequest'")
 * @Method("GET")
 */

public function chequearFabricanteAction(Request $request)
{
    $em       = $this->getDoctrine()->getManager();
    $entities = $em->getRepository('AppBundle:Fabricantedistribuidor')->findOneBy(
        array( 'nombre' => $request->query->get('fabricante')['nombre'] )
    );

    $response['valid'] = true;

    if ($entities) {
        $response['valid'] = false;
    }

    return new JsonResponse($response);
}

需要从两种不同的形式调用函数,唯一不同的是保存该值的请求var.第一种形式是:$request-> query-> get(‘fabricante’)[‘nombre’],而第二种形式是$request-> query-> get(‘distribuidor’)[‘nombre’ ]所以我在问这个处理这个问题的正确方法是:

if (isset($request->query->get('fabricante'))) 
{
   $nombre = $request->query->get('fabricante')['nombre'];
}
else
{
   $nombre = $request->query->get('distribuidor')['nombre'];
}

这是正确的吗?存在更好的一个

正如Cerad在回复中发布的那样,您可以使用:
$request->query->has('distribuidor')

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...