设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
关于控制器的函数写法
返回列表
查看:
2991
|
回复:
5
[已解决]
关于控制器的函数写法
[复制链接]
Terryhml
Terryhml
当前离线
积分
5
IP卡
狗仔卡
发表于 2010-1-20 11:28:08
|
显示全部楼层
|
阅读模式
大家好:我有个疑问,如果一个控制器的类的两个函数都和某个操作相关,比如,新闻发布(news控制器类)的add方法,有两种情况,一种是用户点击添加时,add()是加载添加新闻的页面,而当用户填完数据点击添加时,实际工作的是另外一个函数(比如,do_add),还是用原来的add()再加一个参数,表示这次是一个添加操作?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
Terryhml
Terryhml
当前离线
积分
5
IP卡
狗仔卡
楼主
|
发表于 2010-1-20 11:28:35
|
显示全部楼层
哪个比较好一点~?谢谢
回复
支持
反对
使用道具
举报
显身卡
z445619791
z445619791
当前离线
积分
23795
IP卡
狗仔卡
发表于 2010-1-20 12:36:04
|
显示全部楼层
关注:)
~~帖子长度要八个字
回复
支持
反对
使用道具
举报
显身卡
visvoy
visvoy
当前离线
积分
1342
IP卡
狗仔卡
发表于 2010-1-20 13:04:48
|
显示全部楼层
根本不同的两个方法,一个是填表单,一个是处理提交的表单,概念混淆
回复
支持
反对
使用道具
举报
显身卡
baiyuxiong
baiyuxiong
当前离线
积分
3505
IP卡
狗仔卡
发表于 2010-1-20 14:25:43
|
显示全部楼层
个人想法:
同一个控制函数身兼二职,既显示页面又处理表单。相对比较紧凑,比如CI手册里注册验证里的例子,显示视图和处理数据都是同一个方法。
PHP
复制代码
if
(
$this
->
form_validation
->
run
(
)
==
FALSE
)
{
//如果不是提交就显示数据
$this
->
load
->
view
(
'myform'
)
;
}
else
{
//是提交,处理表单
$this
->
user_model
->
reg
(
)
;
}
复制代码
如果像你的发新闻,也可以这样。但是,这种做法,一般只适合简单的表单处理。原因两方面
1、显示数据和处理表单需要的参数可能不一样,这样,控件器函数的参数不好设置。
2、表单复杂的话,函数代码比较乱。
所以复杂的表单可以新建一个方法,专门来处理表单的数据,处理结束后redirect到显示数据的方法。不过使用这种方式,要防止用户直接在浏览器输入这个方法来访问。
回复
支持
反对
使用道具
举报
显身卡
Terryhml
Terryhml
当前离线
积分
5
IP卡
狗仔卡
楼主
|
发表于 2010-1-20 16:34:44
|
显示全部楼层
谢谢楼上,:)
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页