2011-07-01 64 views
4

使用Yii構建我的第一個Web應用程序,並想知道是否最好將用戶註冊過程作爲我的UserController的一部分來包含,還是創建registrationController並保持邏輯分離更好?單獨的用戶控制器和註冊控制器或合併兩者?

而且......在同樣的思路,這將有利於有ProfileController可處理更多的用戶信息,或者只是有UserController中處理這個呢?

回答

0

註冊用戶的創建?

同樣是一個曲線只是一個用戶的視圖或更新?

好像這些可能都適合一個控制器相當以及基本的CRUD操作。

0

在我看來,你可以把它給UserController因爲註冊的概念是創建一個新的用戶。所以我認爲你可以使RegisterCreate相同。

0

其實,他們不是很複雜,可能是在一個控制器。這至少是我自己的習慣,包括CRUD在一個控制器(也許我的應用程序不涉及複雜的邏輯)

0

是否這種形式要求用戶輸入一個不被永久保存在dataabse數據?如果是這樣,那麼你應該創建一個從CFormModel派生而不是ActiveRecord的新模型。如果您的站點控制器不需要與服務器(LoginForm)進行任何動態交互(LoginForm),那麼您的站點控制器可以處理啓動CFormModel視圖,然後自行處理它們(驗證,ajax,等等),或者如果更復雜的交互是需要(RegisterForm)。在CFormModel中,您可以在會話期間訪問用戶輸入,然後按照您的喜好進行處理/存儲,但當用戶完成後,它就會消失。作爲示例模式,請參閱博客演示的LoginForm和RegisterForm。 這種形式是否與其他模型一樣具有與用戶一樣多的動態數據交互(不只是一次性的關係級聯)?在這種情況下,最好創建你提到的單獨的RegisterController。這就是博客演示的功能,它是一個非常簡單的應用程序。 您可以使用gii從用戶模型自動爲管理員和社區管理員/管理員創建CRUD界面。然後,只要您想爲非管理員用戶重用其中一個視圖,就可以對其進行自定義並renderPartial。模型中的驗證規則也隨之結束。只有訪客和普通特權用戶需要LoginForm和RegisterForm的虛擬界面。

0

好主意是把用戶相關的東西放在模塊中,所以你可以在不同的應用程序中使用它很容易。在該模塊中,您可以將配置文件或其他與用戶相關的控制器放在一起,而不會造成混亂。