2016-05-27 1 views
0

私は、wordpress用のPHPプラグインを作成しています。私はきれいなコーディングを心がけようとしており、IFステートメントでHTMLコードのいくつかの行を返すベストプラクティスを知りたいと思っています。IFステートメントで複数行のコンテンツを返すためのPHPのベストプラクティス

明らかに私はechoについて知っていますが、私はこのようなテクニックを見ていたと思っていましたが、それは私にとってはうまくいかないようです。いくつかの$コンテンツ変数を作成し、それをIF文の外に返すという考え方です。現在

function signup() { 
    if(!Skizzar_Registration::is_skizzar_site_active()) { 
     $content = '<div class="signup">'; 
     $content .= '<h1>Sign up</h1>'; 
     $content .= '</div>'; 
    } else { 
     $content = '<div class="signed_up">you are already signed up</div>'; 
    } 

    return $content; 

} 

すでに発見してきたように、私は機能

+1

は、あなたはそれが戻っていないよろしいです何か?返されたデータに 'var_dump()'を使ってみましたか? – Epodax

+0

コードはよく見えます。 – mokiSRB

+0

@Expodaxはい、あなたの権利、var_dumpは何かを返していました。だから問題は実際に私がどのように関数(doh!)を呼び出したかということでした。 return $ contentを保持しておき、echo signup()を使って関数を呼び出すか、echo $ contentを使い、signup()を使うだけです。関数を呼び出す? –

答えて

1

を呼び出すときに、これは何も返さないものの、特定の問題は、あなたがデータをecxhoingされていないということです。

(好まれ、返却またはエコー)あなたのfollowonの質問ごとに、ワードプレスで両方のオプションは、それに応じて命名機能で提供されている大会があるように思われるとして:

//echos 
function the_signup_form(){ 
    echo get_the_signup_form(); 
} 

//returns 
function get_the_signup_form(){ 
    if(!Skizzar_Registration::is_skizzar_site_active()) { 
     $content = '<div class="signup">'; 
     $content .=  '<h1>Sign up</h1>'; 
     $content .= '</div>'; 
    } else { 
     $content = '<div class="signed_up">you are already signed up</div>'; 
    } 

    return $content; 
} 
+0

これは興味深い観察であり、あなたが言うことは事実です。しかし、私はこの機会に、プラグインは純粋に私の使用のためだと思う、私はただ一つの機能だけでそれを保ち、コード行を節約するだろう! –

+0

確かに、ただの好みです。しかし、エコー版の2行のコードを追加すると、膨らみが増えます。 – Steve

+0

フェアポイント答えをUpvote。ありがとうございました –

関連する問題