在源代码编辑器中将长PHP语句分成多行

时间:2014-01-27 14:20:00

标签: php

if ( ! ( is_page( 'login' ) || bp_is_register_page() || is_page( 'lost-password' ) || is_page( 'reset-password' ) || ( is_page( 'home' ) && ! is_user_logged_in() ) ) ) {

在源代码编辑器中将PHP语句分成多行的最佳方法是什么?我想要这样做的主要原因是为了便于阅读和维护。我想的是:

if ( ! ( is_page( 'login' ) 
|| bp_is_register_page() 
|| is_page( 'lost-password' ) 
|| is_page( 'reset-password' ) 
|| ( is_page( 'home' ) 
&& ! is_user_logged_in() ) ) ) {

但这对我来说并不合适。它看起来并不“整洁”。有没有一种标准的方法可以在多行中打破长PHP语句?

3 个答案:

答案 0 :(得分:1)

我就是这样做的。

if ( !( is_page( 'login' ) 
    || bp_is_register_page() 
    || is_page('lost-password') 
    || is_page('reset-password') 
    || (is_page('home') 
    && ! is_user_logged_in()))) 
{
    //code here
}

通常情况下,我在if语句的同一行上有一个开头的花括号,但对于这样一个长if语句,将它放在自己的行上可能更具可读性。

答案 1 :(得分:0)

if (!is_page('login') 
    && !bp_is_register_page() 
    && !is_page('lost-password') 
    && !is_page('reset-password') 
    && (!is_page('home') || is_user_logged_in())    
) {

答案 2 :(得分:0)

我不确定is_page是什么(假设它是一个返回字符串的函数),但是当你有多个基于相同变量的条件时,这是一个使用开关函数的绝佳机会。

switch(is_page()){
  case 'lost-password':
    //do things
  break;
  case 'reset-password':
   //do things
  break;
  default:
    //if none of cases above, do things
  break;
}