2012-08-01 56 views
3

我正在爲一個相當大的公司建立一個MySQL/PHP票務系統應用程序,這個公司可能有1000-2000個用戶。這是我第一個真正的企業應用程序,所以我真的想確保我根據最佳實踐正確地做事。我不是你稱之爲經驗豐富的開發人員。我知道如何編寫代碼並使其工作,但我從來沒有一個導師或任何人來糾正我的工作,所以我不知道我做事的方式好壞,甚至是倒退。什麼是組合PHP和JQuery的最佳實踐?

我們有4個級別的系統訪問權限,所以應用程序需要從用戶會話中讀取這些級別。我的合作伙伴做了後端DB編程,並負責前端界面。我已經花了6個月時間用純Jquery編寫小工具,所以我已經成爲它的忠實粉絲,並且發現我可以用它快速完成任務。對於接口工作,我喜歡它。但是,會話管理只能在PHP afaik中完成。

這並不是一個必然的問題,因爲我可以在同一頁面上包含JS和PHP的各個部分,儘管如果我不必這樣做,我並不喜歡。例如,我的登錄頁面只是JS/HTML,它向PHP登錄Web服務發出ajax請求。任何時候我可以將處理任務委託給PHP,我更願意編寫一個服務,我可以在AJAX調用中使用它。

但是,如果我必須處理會話,我不認爲我能夠做到這一點。或者我可以嗎?我有興趣聽到你的專業人士在那裏,你覺得什麼是與此有關的最佳做法。

非常感謝提前。

+0

會議是基於其與AJAX請求發送的cookie。所以會話將與AJAX請求一起工作。 – 2012-08-01 08:41:28

+1

您是否考慮過使用像http://osticket.com/ – Waygood 2012-08-01 08:41:34

+3

@Waygood這樣的預先編寫的應用程序,但有趣的部分是編碼! – 2012-08-01 08:42:00

回答

0

對於初學者,您應該爲您提供一些PHP框架並檢查它們如何處理JS。我想推薦Yii framework

0

我個人不會讓JavaScript知道任何會話。權限控制是在PHP頁面正在創建時完成的;您可以選擇根據訪問控制來隱藏頁面的某些部分。這樣,界面就不必擔心關於權限的問題,它可以與頁面上當前的內容一起工作。

PHP通常使用cookie傳播會話(我會推薦使用HttpOnly選項);這些在AJAX調用中被JavaScript透明地使用,所以你的會話應該按照預期工作。

如果您必須支持不支持(或者拒絕)Cookie的瀏覽器,並且您想使用AJAX,則需要查找其他方式,例如,讓PHP生成一段JavaScript,它將初始化會話ID,以便在執行AJAX調用時,腳本可以通過POST,GET或特殊的HTTP頭傳遞它。

0

如果通過會話管理您的意思是訪問控制,那麼只要您通過AJAX調用等獲得所需的信息(實際上並沒有看到任何其他方式......),那麼服務器端應該是能夠處理訪問和這樣的罰款。如果你在服務器端使用通用的狀態代碼(400,401,403等),那麼你可以確保jQuery以一種好的方式處理它們,而且事情應該很簡單。

  • 給我我可以看到的門票。對不起,您需要登錄,然後才能使用。401
  • 我現在登錄。好的,這是您可以使用的門票列表。
  • 我想看看票號56.對不起,你不能看到,403.
  • 我想添加此評論票號42。對不起,你錯過了你的輸入的東西,400

請記住,在服務器端,總是檢查接入酌情。如果用戶有權訪問,請不要假設用戶有權訪問。檢查它:)

不管怎麼說,這取決於你的意思是會話管理什麼,所以我可能是遙遠這裏...