有时我对如何在Cake做事情感到有点困扰。因此,我希望您对以下用例有所了解:
我正在构建一个用户也可以用来创建帐户的登录表单,用户需要提供一定的注册号和电子邮件地址。提交后我正在检查用户是否已经存在于数据库中,如果没有,我创建了用户。创建后,用户需要由我们公司的员工验证,用户需要验证他/她的电子邮件地址。
当然,这很容易在控制器中编码,但我也在考虑将此逻辑构建为CustomAuthentication类。然后CustomAuthentication类处理上述所有逻辑,因此如果记录不存在则创建用户,并根据用户是否已经过我们的验证或者他是否已经验证了他的电子邮件地址提供了有用的反馈。
因此,我最好创建一个具有自定义身份验证类的精简控制器......或者这个逻辑是否更好地写入控制器本身。
总的来说:在某些地方我能找到有关使用MVC框架的最佳实践的信息......我经常发现自己很难决定在哪里放置代码。
答案 0 :(得分:0)
我认为不需要自定义身份验证类,因为这与身份验证没有很大关系,因为它与注册过程一样。身份验证通常是一步过程,您在此处描述的是多个步骤 - 注册,验证,启用。一旦用户登录,就会进行身份验证。
就最佳实践而言,我刚刚了解了每个组件(控制器,模型,视图,数据源,组件,行为,帮助器等)的作用。当涉及到它时,只要问它是否是布局逻辑,业务逻辑或连接逻辑,它应该指向正确的位置(分别是视图,模型,控制器)。我确信有足够的资源可以帮助你,所以不排除。至于Cake,如果你对正确放置东西的地方有疑问,请查看IRC中的#cakephp。人们通常会指出你正确的方向。