Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在if语句中组合变量和表达式的PHP_Php - Fatal编程技术网

在if语句中组合变量和表达式的PHP

在if语句中组合变量和表达式的PHP,php,Php,我正在处理一大块代码,为了简洁起见,我在if语句中设置变量,例如,if($subscriber=$this->subscriber->addSubscriber($request->all())。下面的扩展示例 它工作得很好,可能是使用三元语句的好指示器。然而,在我为自己制造问题之前,这将导致深夜的重构。 我觉得我需要问一下,这种做法是有问题的还是不好的?应在使用前声明,即传统方法?很抱歉,如果这是一个基本问题,但在这里或PHP论坛上找不到任何内容 public function pos

我正在处理一大块代码,为了简洁起见,我在if语句中设置变量,例如,
if($subscriber=$this->subscriber->addSubscriber($request->all())
。下面的扩展示例

它工作得很好,可能是使用三元语句的好指示器。然而,在我为自己制造问题之前,这将导致深夜的重构。
我觉得我需要问一下,这种做法是有问题的还是不好的?应在使用前声明,即传统方法?很抱歉,如果这是一个基本问题,但在这里或PHP论坛上找不到任何内容

    public function postSubscriber(Request $request)
    {
        if ( $subscriber = $this->subscriber->addSubscriber($request->all()) ) {
            return response()->json($subscriber, 200);
        }

        return response()->json("Oops! something went wrong with your subscription.", 500);
    }

不,在我看来,它不太可能导致需要重构的问题。Re:无论传统方法是否更具可读性,您的问题的这一部分完全是主观的,最好用“什么对您来说最具可读性?”来回答。

您的代码很好™三元组可能会降低代码的可读性;if语句没有什么错,即使对于像这样的短方法,更简洁的代码是否更具可读性也是非常主观的。对我来说,将代码分解为更多步骤的主要优点是,它允许您更精确地设置断点,从而使调试更整洁。另外,if条件下的赋值会在某些ide中触发一个警告(Netbeans会触发该iirc),您可以关闭该警告,但如果您以后意外地这样做,则不会发出警告。谢谢,我总是在问这些类型的基本问题时犹豫不决,但如果我不这样做,所有to都会在后面咬我一口