0

たとえば、Wordpressで、アクションが実行される前に空白のifステートメントが複数返されることに気づきました。

function save_book_meta($post_id) {
    $slug = 'book';
    if($slug != $_POST['post_type']) {
        return;
    }
    if(!current_user_can('edit_post', $post_id)) {
        return;
    }
    // perform actions here
}

このように記述することと、以下の例のように記述することの違いは何ですか。ここでは、何も返さずにチェックを実行してから、アクションを実行します。

function save_book_meta($post_id) {
    $slug = 'book';
    if($slug == $_POST['post_type'] && current_user_can('edit_post', $post_id)) {
        // perform actions here
    }
}

私の質問は次のとおりです。

  1. ブランクリターンの目的は何ですか?
  2. 複数のreturnステートメントを使用することをお勧めしますか(1つだけが実行されますが)、それともreturnは関数の最後にあるのが理想的ですか?
4

2 に答える 2

0

1)コードを少しすっきりさせます。あなたの例では2つではなく10つあると想像してみてください。
2)はい、返品は通常、後でifステートメントを使用するよりもクリーンです。

于 2012-05-15T17:15:44.460 に答える
0
  1. 関数の続行を停止します。
  2. この場合、2つのif条件を分離することの利点の1つは、不要な処理(DBにアクセスし、ビジネスロジックを実行してユーザーのアクセス許可レベルを決定する)を防ぐことです。FALSE最初からできるだけ少ない労力で結果を判断できれば、より複雑なテストを続けても意味がありません。

一般的は、おそらく2つの単純な条件に参加します。しかし、この場合、それは適切だと思います。

于 2012-05-15T17:16:44.400 に答える