2011-04-15 30 views
1

今年我在大學裏一直在做ASP.NET MVC,只涉及一些基本原理但絕對喜歡它。作爲一名PHP粉絲超過6年,我計劃使用像CakePHP這樣的東西在我的作品中繼續使用MVC模式。ASP.NET MVC到CakePHP問題

不過,我有幾個問題作爲自己的兩個框架之間的差異MASSIVE:

1)如何會有人做類似LINQ那裏當過你做一些你的ActionResult你可以簡單的構建一個查詢,然後將它返回到視圖?

2.)倉庫中是否存在?我喜歡ASP.NET中的這些功能,併爲您的數據庫邏輯創建自定義方法,然後在任何地方調用它們。

3.)與模型混淆。在ASP.NET中,我可以用一個模型處理大量表格,然後輕鬆地調用任何表格或表格組合。在蛋糕,你似乎有一個模型每桌???

回答

2

CakePHP帶有自己的持久性API,而在ASP.NET MVC中,您可以(並且必須)使用您選擇的其他東西。

1)CakePHP中沒有與LINQ相同的內容,但you can still construct queries pretty easily

2)CakePHP的模型可以附加函數,它們也有一些名爲Behaviors的東西,它們是整齊的。

3)CakePHP的持久性系統將一個模型與一個持久實體(如表)關聯起來。我不確定我能否用更具體的例子給出更好的答案。

在我移植到.NET之前,我做了很多PHP工作。雖然我仍然更喜歡ASP.NET MVC或RoR(主要是因爲它們比PHP更好的框架和語言,恕我直言,),但我在CakePHP中完成的一些項目非常愉快。

0

我不熟悉ASP.NET,但我可以回答其中的一些問題。

  1. LINQ ...我不熟悉。如果 你可以舉一個簡單的例子,我可以用 來解釋Cake中是否有類似的 方法。
  2. 您引用的存儲庫可以是 行爲,如 @HackedByChinese所述。但是,通過將 函數添加到app_model.php文件中,您可能會得到更好的結果 。 該應用中的所有模型都可以訪問app_model.php文件 中的任何 函數,該文件可以添加到您的應用 目錄中。
  3. 是的。 CakePHP的設計代碼爲 。 背後的想法每個型號的單個表允許您建立一個非常FAT的模型,並仍然 保持易於管理。您將所有 關係,驗證和 其他模型特定代碼構建到每個 模型中。那麼當用戶出錯 例如,你知道你需要查看 模型。這可以被覆蓋,如果你願意,你可以把所有的模型訪問放入 單個模型文件中,但是 它會使代碼變得粗糙。如果你是 要這樣做,爲什麼使用Cake?只需 把你所有的型號代碼放在 Model.php中,你所有的控制器 代碼都在Controller.php中,並且所有的 你的view代碼都在View.php中並且調用 它很好。我想你會同意 這不是非常可讀或不可擴展的代碼的結構 。