zhjphp 发表于 2012-6-7 17:34:54

系统library只能扩展一次吗?

想给网站增加用户注册和登录的表单验证功能,想了半天,因为需要调用系统的 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

Hex 发表于 2012-6-7 18:58:29

一般直接在控制器里做表单验证。
在模型里做验证也是不错的选择。

zhjphp 发表于 2012-6-8 09:01:43

但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面都学要调用这个表单验证,比如还有留言、评论等,写在 Controller 里,每个 Controller 都学要写一遍,代码重复太多了。

zhjphp 发表于 2012-6-8 09:01:57

Hex 发表于 2012-6-7 18:58 static/image/common/back.gif
一般直接在控制器里做表单验证。
在模型里做验证也是不错的选择。

但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面都学要调用这个表单验证,比如还有留言、评论等,写在 Controller 里,每个 Controller 都学要写一遍,代码重复太多了。

kissgxd 发表于 2012-6-8 10:17:44

你试试可不可以啊,我还真没试过
一般也就是继承一次
把一些常用的功能封装到里面
然后继承一下,基本就可以了

Hex 发表于 2012-6-8 11:48:33

zhjphp 发表于 2012-6-8 09:01 static/image/common/back.gif
但是大家都不推荐在 Model 里面调用 Library 吗?看大家说Model层不要和其他类库扯上关系。
因为很多页面 ...

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

表单验证可以做成配置。不用每个页面都写。
另外,如果不是很多控制器都使用相同的规则,完全可以在每个控制器里写,不会有多少重复代码的,呵呵

zhjphp 发表于 2012-6-9 09:13:38

非常感谢 kissgxd,Hex的帮助,应该多动手,写代码时应该充分发挥CI的自由性,现在对CI又有深一层理解了
页: [1]
查看完整版本: 系统library只能扩展一次吗?