在 IF 语句中返回多行内容的 PHP 最佳实践



我正在为wordpress编写一个php插件。我试图注意干净的编码,并想知道在 IF 语句中返回几行 HTML 代码的最佳实践。

显然我知道echo但我认为我见过这样的技术,但它似乎对我不起作用。这个想法是创建几个$content变量,然后将其返回到 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;
}

目前,虽然当我调用函数时这不会返回任何内容

正如您已经发现的那样,具体问题是您没有对数据进行检查。

根据您的后续问题(首选,返回或回显),在wordpress中似乎有一个约定,其中提供了两个选项以及相应命名的功能:

//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;
}

最新更新