我正在为代码点火器构建自定义用户注册/登录/ bla bla bla库。
我正在寻找一些关于图书馆采取什么方向的提示。
即 显然,与通用库文件一样,您将需要一些其他调用库的函数。
验证逻辑应该放在哪里?
我们向http://example.com/user/register/joe@mail.com/joesPassword
发出请求现在在某个阶段,用户控制器中的register
函数需要调用用户库中的register
函数。
我是否构建了验证(已存在,需要密码,电子邮件有效,密码符合最低标准等)到控制器或库。
我最初的本能是将验证构建到控制器中,并使库函数只做一件事。即,用户库中的register
函数只需sha1()
密码,并将用户名/密码插入数据库。
我在这里走的是正确的轨道,还是库应该完成所有的工作而控制器只是用来接收和传递请求?
答案 0 :(得分:1)
我认为你这样做是出于自己的利益,即出于纯粹的自学目的。如果没有,你可能正在重新发明轮子 - 我很难想象codeigniter还没有完全成熟的注册解决方案。尽管如此,如果您真的想构建一个处理用户注册的库,请考虑以下事项:
我确信还有更多的指导,我没有提到移动设备的自定义视图,可能还有更多。但是上面的内容应该会为你找到正确的方向。
至于你的问题的这一部分:“我在这里走的是正确的轨道,还是图书馆应该完成所有的工作,控制器只是采取行动接收并传递请求?” - 这是IMO的首选问题,但是我将控制器用作一般任务,即解析表单值并转义它们,并将这些预处理值传递给实际(语义)验证发生的模型。