单独的用户控制器和注册控制器或两者结合?

时间:2011-07-01 03:48:33

标签: php yii

使用Yii构建我的第一个Web应用程序并想知道是否最好将用户注册过程包含在我的UserController中,还是更好地创建registrationController并保持逻辑分离?

并且......在同样的思路上,让profileController处理其他用户信息,或者只是拥有userController句柄也是有益的吗?

5 个答案:

答案 0 :(得分:0)

注册是创建用户吗?

同样,个人资料只是用户的视图或更新?

似乎这些都可以很好地适应一个控制器作为基本的CRUD操作。

答案 1 :(得分:0)

在我看来,你可以转到UserController,因为注册的概念是创建一个新用户。所以我认为你可以使RegisterCreate相同。

答案 2 :(得分:0)

实际上,它们不是很复杂,可能在一个控制器中。在一个控制器中包含CRUD至少是我自己的习惯(也许我的应用程序不涉及复杂的逻辑)

答案 3 :(得分:0)

此表单是否要求用户输入未永久存储在数据库中的数据?如果是这样,那么你应该创建一个从CFormModel而不是ActiveRecord派生的新模型。您的站点控制器可以处理CFormModel视图的启动,如果它们不需要与服务器(LoginForm)进行任何动态交互,那么它们会自行处理(验证,ajax等),或者如果更复杂的交互,它们可以有一个单独的控制器需要(RegisterForm)。在CFormModel中,您可以在会话期间访问用户输入并根据需要处理/存储它,但是当用户完成时它会消失。有关博客演示,请参阅LoginForm和RegisterForm,作为示例模式。 这种形式与其他模型的动态数据交互是否与用户一样(不仅仅是一次性的级联关系)?在这种情况下,最好创建您提到的单独的RegisterController。这就是博客演示所做的,它是一个非常简单的应用程序。 您可以使用gii从用户模型中为管理员和社区版主/经理自动创建CRUD界面。然后,只要您想为非管理员用户重用其中一个视图,就可以自定义它和renderPartial。模型中的验证规则也会延续。只有来宾和普通用户才需要LoginForm和RegisterForm的哑屏界面。

答案 4 :(得分:0)

好主意是将用户相关的东西放在模块中,这样你就可以在不同的应用程序中轻松使用它。在该模块中,您可以放置​​配置文件或其他与用户相关的控制器,而不会破坏应用程序。