2016-04-08 80 views
0

我曾經在PHP中工作過,但主要是一些實際涉及輸出HTML的小觸摸。我更像是一個前端人物。現在,我正在構建一個小型網站,它在頭部,頁眉和頁腳上有很多重複內容,但內容有點不同(幾乎是您典型的「模板」樣式設計的)。我不知道我應該如何處理這種情況下的依賴關係。我有變量,我有功能,我有包括和要求。但是哪裏去了?PHP文件結構:變量和函數

例如,我有一個config.php文件,其中包含一些經常使用的全局靜態變量(例如$home,這是基本URL - 這對於在子目錄中進行本地測試是必需的)。我需要這個配置文件在每個其他PHP文件的頂部。我認爲這應該是好的?

但是:然後:如何處理每頁更改的全局變量。簡單的例子:比方說,我有這樣的代碼在page.php

<?php include "header.php"; ?> 

和header.php文件看起來是這樣的:

<header> 
    <h1><?php echo $pageTitle; ?></h1> 
</header> 

難道僅僅因爲容易把值在該頁面中page.php?像這樣:

$pageTitle = "I like bananas"; 
<?php include "header.php"; ?> 

這涉及到我,因爲如果你有很多的這些東西 - PHP變成醜:一段時間後你的基地PHP文件(page.php)堆滿了變數。顯然,它們不是成千上萬,但我想對我的項目可能會有十幾個。這是一個「問題」還是通常發生的事情?如果不常用,那麼我應該如何在PHP中處理變量?

那麼功能呢?舉例來說,如果我想一個類添加到某一個項目在header.php,如果一個變量是5(顯然是真實的例子是更復雜的),我可以寫像這樣一個功能:

function checkBananaAmount($int) { 
    if ($int == 5) echo 'class="eat-bananas"'; 
} 

,並調用它像這樣:

<div <?php checkBananaAmount($myBanana); ?>></div> 

的問題是,你會不會把這個功能在一個單獨的文件(類似於WordPress的functions.php,或將我只是把它放在header.php如果是前者,這意味着我必須require "functions.php"在每個頁面中都有這些功能之一嗎?

正如您所看到的,我很想知道PHP項目的基本結構如何:如何對變量和函數進行排序,如何使事物整齊排列等,而不會損失生產力和效率。

+1

這真的取決於。如果每個頁面或大多數頁面都需要一個函數,我建議將它添加到一箇中心文件中。如果它用於一兩頁,我只是將它添加到實際頁面中。 – Derek

回答

0

構建項目的方式很多,包括是否包含框架(可以花時間學習,但隨着項目的發展而獲得巨大收益)。

這些天我不會啓動一個空白石板的PHP項目。

作爲一個前端人物,我假設你知道角度或挖空等框架。

一個很好的出發點可能是喜歡苗條http://www.slimframework.com/一個簡單的框架

和模板系統,如桂枝http://twig.sensiolabs.org/

即使你打算從頭方法開始,你應該有PHP很好看正確的方法http://www.phptherightway.com/