我希望PHP包含被中断

时间:2010-11-10 00:42:24

标签: php include switch-statement

这样的东西在名为“header.php”的文件中,我网站上的所有文件都包含:

switch (str_replace('/folder_name/','',$_SERVER['REQUEST_URI'])){
    case 'index.php':
    $page_title='main page';
    break;
    case 'page1.php':
    $page_title='page 1 is here';
    break;
    case 'page2.php':
    $page_title='this is page 2';
    break;
}

接下来是一些对所有页面都很常见的HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
etc... 

我是否可以这样做,对于交换机中的一个案例,包含就在那里停止?我问是否有办法从包含中断包含。例如,它可能看起来像:

case 'page3.php':
$page_title='the title for page 3';
STOP_THE_INCLUDE
break;

这可能吗?

2 个答案:

答案 0 :(得分:4)

是的,你可以在include中简单地return;

答案 1 :(得分:1)

退出交换机时,使用IF来避免其余的包含?像这样:

 $stopInclude = false;
 switch (str_replace('/folder_name/','',$_SERVER['REQUEST_URI'])){ 
   case 'index.php': 
     $page_title='main page'; 
     break; 
   case 'page1.php': 
     $page_title='page 1 is here'; 
     break; 
   case 'page2.php': 
     $page_title='this is page 2'; 
     break;
   case 'page3.php': 
     $page_title='the title for page 3'; 
     $stopInclude = true;
     break; 
 }
 if (!$stopInclude) {
   //whole rest of the include
 }