看Django。
Python代碼。一種允許與PHP具有相同功能的模板語言 - 稍微不同的語法。
模型與視圖函數(「業務規則」)脫節並且與演示文稿脫節。這是在Django中實施的。
其中一個常見問題是「爲什麼我不能在Django模板中做一些瘋狂的類似於PHP的事情?」答案是演示文稿沒有處理。在Django視圖中執行處理功能。在模板中將結果呈現爲HTML。
此外,Django有一個ORM層,可以將您與小數SQL考慮因素分離。 MySQL或PostgreSQL在Django中或多或少是相同的。
編輯
「成熟」 意味着很多東西。你特別提到熟練的人是成熟的標誌。
Django是純Python。如果你能找到Python人員,他們可以在幾天內學習Django。他們只需要做教程。
Django支持的站點通常是Apache +一些粘貼+ Django。膠水可以是mod_wsgi或mod_python或mod_fastcgi。您必須小心管理此配置,因爲有幾個移動部件。然而,這與你使用PHP的Apache配置問題是相同的 - 這裏沒有什麼新東西。
Django站點有一個或多個Django服務器實例,每個實例都有一個設置文件,一個URL映射和任意數量的應用程序。純粹的Python在這一點上。
Django應用程序具有URL映射,模型和視圖。所有純Python。單元使用Django擴展來測試Python自己的內部單元測試框架。
該模型使用ORM層。這也許可能是Django中最令人困惑的事情。人們有時會設計非常奇怪的模型,因爲他們認爲要麼太高級超級泛型,要麼他們在SQL中考慮太多。 Django是一個基於面向對象的中間地帶,有一些SQL考慮因素。得到這個,你是不可阻擋的。
Django應用程序可能有模板,這些模板使用它們自己的模板語言。這將是關於唯一非Python感興趣的非Python事物。你可能想要添加自定義標籤 - 純Python。
您可能擁有JavaScript(對於PHP和其他所有Web應用程序框架也是如此)。這裏沒有新東西。
由於Django的管理應用程序自動處理基本的CRUD處理,所以您不必編寫它。您可以自由撰寫所有您想要的交易內容。但你不必這樣做。這導致你一個非常非常強大的混合。
您編寫了一些複雜的關鍵事務。純Python,BTW。
您不寫任何啞表維護事務。沒有任何代碼優於Python或PHP。
當你用模板引擎和CSS弄溼你的腳後,你可以定製管理界面,看起來像你想要的任何東西。這是HTML/CSS的東西,沒有Python或PHP。
底線。大部分技能是Python。 ORM是 - 語法上的--Python,但需要一些簡單幹淨的處理。模板是它自己的語言,但比PHP簡單得多。其餘的是SQL,Javascript,HTML,CSS,Apache和不是。
編輯
Django的成熟度
Django的博客延伸到'05,這意味着他們在'08年9月終於發佈1.0之前有多年的豐富經驗。顯然在'03開始了發展。
感謝您的回答。我最關心的是Django框架的相對不成熟。我需要考慮能否找到我(或我的公司)可以聘請的將來進行更新的大量開發人員。在這方面你對Django有什麼想法? – wrburgess 2009-01-13 17:22:50
偉大的編輯!感謝細節。 – wrburgess 2009-01-13 17:45:48