我正在用php,ajax,javascript,mysql構建一個webapp。我一直在擔心一些事情,但不確定是否真的有問題。以下是代碼如何工作的基本概念......我想知道現在是否應該更改它,或者如果它是按照原樣使用的話。性能對我來說很重要......超過5,000名用戶應該可以在不出現任何性能問題的情況下使用該應用程序。我擔心的一部分只是作爲自學成才的開發人員的偏執狂,並不瞭解那裏的所有最佳實踐。php類的性能問題...我該怎麼做?
這裏是基本的web應用程序的功能:
用戶通過通過onclick事件瀏覽器中執行一個電話 - > AJAX調用phpPG1.php。 - > phpPG1.php對數據庫運行查詢並將結果存儲在數組中,然後包含另一個名爲HTMLphp.php的PHP頁面,從HTMLphp.php頁面實例化新對象,這是一個類 - >類的calles函數並傳遞包含查詢結果的數組 - >類函數生成HTML表並返回一個字符串 - > phpPG1.php頁返回帶有表數據的字符串給顯示字符串的ajax調用在它所屬的給定DIV標記中。
HTMLphp.php包含用於返回整個webapp的HTML表的所有函數。 HTMLphp.php看起來是這樣的:
Class HTML_stuff
{
function html_TABLE1($results_array)
{
$string = 'THE HTML TABLE WITH ITS DATA IN IT'
return $string
}
function html_TABLE2($results_array)
{
$string = 'THE HTML TABLE WITH ITS DATA IN IT'
return $string
}
}
所以,這是我的問題。 HTMLphp.php頁面中現在有5,606行代碼,代表該類中的100個左右的函數。基本上,我的web應用程序中的每個頁面都「包含」了此頁面,以便能夠使用類功能來顯示html表格。我用webapp完成了一半的工作,所以會有更多的代碼添加到這個文件中。我並不完全贊同計算機如何執行代碼,特別是在使用類對象時,但我理解「解釋性語言」如php的基礎知識。
我想知道這是不是一個好主意,如果我應該這樣做:對於HTML_stuff類中的每個函數,只需簡單地刪除每個函數的代碼,並將其放置在它自己單獨的.php頁面中包括像這樣:
Class HTML_stuff
{
function html_TABLE1($results_array)
{
include_once 'TABLE1.php'; //the html table for this function.
return $string;
}
function html_TABLE2($results_array)
{
include_once 'TABLE2.php';
return $string;
}
}
我的基本假設是,我只包括所需的HTML,當我撥打電話的特定功能,從而降低了HTMLphp.php頁面的假設這個總體規模在整個網站會幫助性能......我在這個思想的左邊領域?我的一部分人認爲這與第一種選擇是一樣的,只是組織方式不同而已,它會對整體表現做任何事情。不過,我確實在某處讀到「較少」的表現更好。
其他人做了什麼,或者還有其他關於如何做這種事情的最佳做法?對於5,000到10,000個用戶的網站而言,這可以忽略不計嗎?
謝謝。
「代表班級中的100個左右的功能」 - 你只有50%完成了這門課程?這聽起來很奇怪,至少可以說;-) – VolkerK 2010-01-16 00:42:12