我们如何优化这些代码行?

时间:2016-01-13 13:56:08

标签: php arrays try-catch

我想知道有没有什么方法可以优化代码行。我知道我们可以在第一个try块中编写其他$row[] = $this->getFields($inputHeaders, $result, $fields['row2']);。但我仍然想知道是否有任何其他方法可以减少这些代码行或更好的方法

try {
        $row[] = $this->getFields($inputHeaders, $result, $fields['row1']);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }

    // Get data for first row.
    try {
        $row[] = $this->getFields($inputHeaders, $result, $fields['row2']);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }

1 个答案:

答案 0 :(得分:0)

假设有人询问重构,而不是优化,我会给出以下答案:

$rowNames = array('row1', 'row2');

foreach ($rowNames as $rowName) {
    try {
        $row[] = $this->getFields($inputHeaders, $result, $fields[$rowName]);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }
}