2015-07-21 30 views
0

我是PHP和編程的新手,希望有人能幫助我解決這個問題。PHP:如何在一些但不是所有頁面上包含代碼片段

我正在建立一個網站,每個頁面的代碼保存在一個單獨的文件中。

現在我有幾個代碼片段,我想在不同的頁面上使用,但不是在所有的頁面上使用。 我目前的做法是,我將它們粘貼到每個使用它們的文件上,這些文件重複了代碼,因此不是很好的做法。

就當我用我已經從單一的文件中刪除他們的所有頁面片段,並將其作爲單獨的另一方面包括使用PHP文件,以包括他們一個網頁,例如的includerequire頁眉,頁腳和菜單等 - 例如:

require_once("includes/header.php"); 

這種運作良好,我想知道是否有類似的辦法可以包括其它代碼段,以及,但不必保存每個作爲一個單獨的文件

有沒有一種方法,例如,我可以使用這個功能或有其他一些常見的做法嗎?

例(只是爲了顯示我的意思):

<?php 
    // example of what I would like to include on different pages 
    echo "<button type="button" class="class1" id="btn1">Button 1</button><br /> 
     <button type="button" class="class2" id="btn1">Button 2</button><br /> 
     <button type="button" class="class3" id="btn1">Button 3</button><br />"; 
?> 

插入可以是任何東西的作品,但他們通常都是一些小的PHP/HTML片段,就像一組按鈕或者一個div或下拉等

回答

0

在一個函數內部編寫代碼片段,這樣您就可以通過每次包含相同的頁面在任何其他頁面上調用它。 比方說,我們有一個index.php頁面,我們必須有這個代碼test.php的(我們希望包括索引頁):

<?php 
function hello(){ 
echo 'Hello World!'; 
} 
hello(); //to print "hello world!" in this particular page 
?> 

現在,在index.php頁面,我們把:

<?php 
include('test.php'); 
?> 
<h1><?php hello(); ?></h1> 
+0

真棒 - 這正是我想到的,它的工作原理。非常感謝 ! :) – WhistleBlower

+0

幸福,這有助於:) –

0

使用單一的index.php文件來處理餘下的

的index.php

<?php 
require_once 'header.php'; 
if(isset($_GET['page']){ 
    switch($_GET['page']){ 
     case "123": 
     require_once 'snippet1.php'; 
     break; 
     case "1234": 
     require_once 'snippet2.php'; 
     break; 
     default: 
     require_once 'notfound.php'; 
    } 
} 
require_once 'footer.php'; 
+0

感謝你 - 我喜歡這種做法!但是,我不確定我可以這樣使用它。如果一個頁面需要第1,3,7頁片段,另外3,7,10頁面和頁面中的不同位置需要使用片段,我會在這裏做什麼?我在想我可以調用一個函數等,而不僅僅是在需要的地方回顯相應的代碼片段。 – WhistleBlower

+0

你可以使用另一種方法,將所有文件放在一個文件夾中,並檢查它們是否存在,幷包含$ _GET而不是開關/案例 –

相關問題