用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2235|回复: 7
收起左侧

系统library只能扩展一次吗?

[复制链接]
发表于 2012-6-7 17:34:54 | 显示全部楼层 |阅读模式
想给网站增加用户注册和登录的表单验证功能,想了半天,因为需要调用系统的 Form_validation  类库,写在Model、Helper,或者新建一个Library都不合适,写进去会造成代码耦合。

所以我想给系统类库 Form_validation  扩展功能,新建 MY_Form_validation 扩展。

但是 MY_Form_validation 中有用户注册验证和用户登录验证,想用适配器模式来写,但是 MY_Form_validation
还可以被继续继承吗?如果不能,Form_validation 被 MY_Form_validation 扩展一次后要再次扩展怎么办呢?
发表于 2012-6-7 18:13:49 | 显示全部楼层
Contrller
发表于 2012-6-7 18:58:29 | 显示全部楼层
一般直接在控制器里做表单验证。
在模型里做验证也是不错的选择。
 楼主| 发表于 2012-6-8 09:01:43 | 显示全部楼层
但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面都学要调用这个表单验证,比如还有留言、评论等,写在 Controller 里,每个 Controller 都学要写一遍,代码重复太多了。
 楼主| 发表于 2012-6-8 09:01:57 | 显示全部楼层
Hex 发表于 2012-6-7 18:58
一般直接在控制器里做表单验证。
在模型里做验证也是不错的选择。

但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面都学要调用这个表单验证,比如还有留言、评论等,写在 Controller 里,每个 Controller 都学要写一遍,代码重复太多了。
发表于 2012-6-8 10:17:44 | 显示全部楼层
你试试可不可以啊,我还真没试过
一般也就是继承一次
把一些常用的功能封装到里面
然后继承一下,基本就可以了
发表于 2012-6-8 11:48:33 | 显示全部楼层
zhjphp 发表于 2012-6-8 09:01
但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面 ...

谁说的不建议在模型里调用类库?不要被误导。
CI 是很灵活的,要根据你的项目来决定如何使用。

表单验证可以做成配置。不用每个页面都写。
另外,如果不是很多控制器都使用相同的规则,完全可以在每个控制器里写,不会有多少重复代码的,呵呵
 楼主| 发表于 2012-6-9 09:13:38 | 显示全部楼层
非常感谢 kissgxd,Hex的帮助,应该多动手,写代码时应该充分发挥CI的自由性,现在对CI又有深一层理解了

本版积分规则