-1

私はこれをグーグルで検索し、すでにスタックオーバーフローを閲覧しました。私は自分のコードを短くしようとしていますが、この作業方法を以下に示します。三項スタイルで書き直したいと思います。これが可能かどうか、もしそうなら、何が間違っているのか教えてもらえますか。ありがとう。

public function __get($field){ //refactor this using ternary method
    if($field == 'user_id'){
        return $this->uid;
    } else {
        return $this->fields[$field];
    }
}

私はこれから始めました:

($field == 'user_id') return $this->uid : return $this->fields[$field];

予期しないリターンエラーが発生します。

値の前に戻り値をリストし、機能しなかった別のスタック オーバーフロー ソリューションを使用してみました。

return $field == 'user_id' ? $this->uid : $this->fields[$field];

これにより、メソッドが正しく閉じられないなど、予期しない public に関する別のエラーが発生します。

4

1 に答える 1

1

このようなものだと思います。コードを次のようにリファクタリングしました。

public function __get($field){ //refactor this using ternary method
        return $field == 'user_id' ? $this->uid : $this->fields[$field];
    }
}

public function otherfunction() { /* ... */ }

中かっこが一致しないため、クラス定義が閉じられ、次のパーサー エラーは'unexpected public':)

于 2012-09-05T15:17:10.350 に答える