2010-11-10 42 views
0

像這樣的事情是在一個名爲「header.php文件」,這在我的網站的所有文件包括文件:我想一個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... 

我可以這樣做嗎,對於交換機中的一種情況,包括在那裏停止?我在問是否有辦法打斷include中的包含。例如,它可能看起來像:

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

這可能嗎?

回答

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 
} 
4

是的,你可以簡單地在return;裏面包含。

+0

雖然我同意你的解決方案,但我不得不說,從一箇中斷一個包含聽起來像*糟糕的應用程序體系結構。 (再說一次,這與你的回答沒有任何關係,+1) – karim79 2010-11-10 00:48:16

+0

是的,我甚至不認爲我會保持這種狀態,我只是好奇,如果我願意,我會怎麼做。 – 2010-11-10 00:52:31