PHP流程控制的替代語法
阿新 • • 發佈:2018-09-01
blog 括號 亂七八糟 rdp 開發人員 content display c語言 spl PHP流程控制的替代語法(The alternative syntax of the PHP process control)早在PHP 4.時代就已存在,只是不見有太多的使用罷了。
##
那麽,PHP中哪些語法有替代語法? 也就是說,這些語法能發揮的地方是在PHP和HTML混合頁面的代碼裏面。好處如下:
##
那麽,PHP中哪些語法有替代語法?
##
針對流程控制語句,包括if,while,for,foreach和switch這幾個語句有替代語法。
替代語法的基本形式
##
左花括號({)換成冒號(:),把右花括號(})分別換成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;
##
應用
典型情況下,在純PHP代碼中一般不使用上述替代語法形式,以便與其他流行語句盡量保持一致的可讀性原因所致吧。但是,在網頁語言中,當你使用PHP開發時,就會經常見到流程語句的替代語法形式了。
1.使HTML和PHP混合頁面代碼更加幹凈整齊。
有代碼潔癖的朋友最懼怕的就是亂七八糟的混合代碼,有了這些沒有花括號的替代語法,各位愛幹凈的朋友開心到尿震。
2.流程控制邏輯更清晰,代碼更容易閱讀
要改別人的PHP和HTML混合代碼,打開發現,我擦!太TMD垃圾了!如果用替代語法,我想再垃圾的程序開發人員也不至於寫的太亂吧。
3.一些從ASP等其他類basic語言家族轉來的朋友,會更容易使用PHP。
##
一個典型的例子是在WordPress網站代碼中,你會經常見到。舉例如下:
<?php /** * The template for displaying the header * * Displays all of the head element and everything up until the "site-content" div. * * @package WordPress * @subpackage Twenty_Fifteen * @since Twenty Fifteen 1.0 */ ?><!DOCTYPE html> <html <?php language_attributes(); ?> class="no-js"> <head> <meta charset="<?php bloginfo( ‘charset‘ ); ?>"> <meta name="viewport" content="width=device-width"> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="<?php bloginfo( ‘pingback_url‘ ); ?>"> <!--[if lt IE 9]> <script src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js"></script> <![endif]--> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page" class="hfeed site"> <a class="skip-link screen-reader-text" href="#content"><?php _e( ‘Skip to content‘, ‘twentyfifteen‘ ); ?></a> <div id="sidebar" class="sidebar"> <header id="masthead" class="site-header" role="banner"> <div class="site-branding"> <?php twentyfifteen_the_custom_logo(); if ( is_front_page() && is_home() ) : ?> <h1 class="site-title"><a href="<?php echo esc_url( home_url( ‘/‘ ) ); ?>" rel="home"><?php bloginfo( ‘name‘ ); ?></a></h1> <?php else : ?> <p class="site-title"><a href="<?php echo esc_url( home_url( ‘/‘ ) ); ?>" rel="home"><?php bloginfo( ‘name‘ ); ?></a></p> <?php endif; $description = get_bloginfo( ‘description‘, ‘display‘ ); if ( $description || is_customize_preview() ) : ?> <p class="site-description"><?php echo $description; ?></p> <?php endif; ?> <button class="secondary-toggle"><?php _e( ‘Menu and widgets‘, ‘twentyfifteen‘ ); ?></button> </div><!-- .site-branding --> </header><!-- .site-header --> <?php get_sidebar(); ?> </div><!-- .sidebar --> <div id="content" class="site-content">
上述代碼來自於著名的Twenty_Fifteen主題中的header.php文件定義。
PHP流程控制的替代語法