我正在創建一個新程序。它是以我以前從未創造過任何方式創建的。該方案主要包括以下內容:設置我的程序代碼的最佳方法
- 的Index.html - 接口,只是HTML代碼
- ActionController.js - 由包括index.html的,它包含了jQuery的掛鉤界面元素,品牌Ajax調用並更新接口
- ExampleAction.php - ActionController使用Ajax調用的許多「Action」文件之一。它根據文件做了很多事情,但文件的佈局是相同的。
我這種設置有存在的問題如下:
1.I無法完成我的數據庫類創建一個單身,因爲使用AJAX我不得不創建一個新的數據庫實例在每個ExampleAction文件中。這是正常的行爲還是應該可能的,這可能是我的代碼中的東西?如果它應該是可能的,並且它是我的代碼中的東西,我會稍後發佈它。
如果我不夠清楚,這是我試過的: - 我將index.html重命名爲index.php(ofcourse)。 - 包含我的數據庫單例在這個文件的頂部。 - 對ExampleAction.php進行ajax調用。 - ExampleAction.php無權訪問數據庫類,我必須再次包含它並創建一個新實例。
2.當我進行Ajax調用時,我通過POST發送參數。該ExampleAction的總體佈局如下:
$actionInstance = new ExampleAction();
class ExampleAction {
public __construct() {
this.GetAction();
}
private GetAction() {
$action = $_POST['action'];
switch ($action) {
case "Login":
this.Login();
break;
}
//Login function, etc. here
}
}
Ofcourse我真正的代碼包含消毒和這樣的switch語句更長,它包含了很多更多的功能
我不喜歡這個怎麼樣是兩件事。我不喜歡每次打電話給文件時都必須實例化對象,但我想這無法幫助。
第二件事是,如果我有很多功能,我的開關變得巨大。
所有這些問題都讓我覺得我對這一切都是錯誤的。
TL; DR: 我正在尋找建立一個程序,如一個我做的最好辦法。我感覺我讓我的代碼變慢(因爲ajax調用的數量越來越多),並且在一分鐘之內難以維護(因爲不斷增加的switch語句)
**請勿使用單身**。他們是邪惡的。瞭解MVC,分離問題。你會在前方走很長的路,但這是值得的。 – Jimbo 2013-05-08 09:37:40