将长的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语句?

这就是我的方式。

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语句将其放在自己的行上可能会更可读。

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

我不确定什么是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;
} 

最新更新