设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
对于一些逻辑操作是放在控制器还是放在视图里? ...
返回列表
查看:
2021
|
回复:
3
[讨论/交流]
对于一些逻辑操作是放在控制器还是放在视图里?
[复制链接]
cfanbo
cfanbo
当前离线
积分
33
IP卡
狗仔卡
发表于 2011-11-7 14:49:06
|
显示全部楼层
|
阅读模式
模型:
PHP
复制代码
function
getRow
(
$id
=
0
)
{
$sql
=
"SELECT * FROM tbl_down WHERE aid="
.
intval
(
$id
)
;
$query
=
$this
->
db
->
query
(
$sql
)
;
return
$query
->
row_array
(
)
;
}
复制代码
控制器:
PHP
复制代码
function
view
(
)
{
$id
=
$this
->
uri
->
segment
(
3
)
;
$this
->
load
->
model
(
'Down_model'
)
;
$data
[
'row'
]
=
$this
->
Down_model
->
getRow
(
$id
)
;
$this
->
load
->
view
(
'down_view'
,
$data
)
;
}
复制代码
视图:
HTML
复制代码
<
h1
><?php echo $row
[
'title'
]
?><
/
h1
>
下载地址:
<?php echo $row
[
'uploadfile'
]
;?>
复制代码
正常访问的时候没有什么问题人.但参数id的值如何修改为一个不存在的值的话,就无法正常显示了.因为视图里用的是$row这个数组.但在控制器里取出来的为空.所以提示出错误信息:
HTML
复制代码
A PHP Error was encountered
Severity: Notice
Message: Undefined index: uploadfile
Filename: views/down_view.php
Line Number: 3
复制代码
不知道一些逻辑检查的代码是放在控制器里好还是视图里好.如果放在控制器里可能需要进行一些在不存在信息的情况下,构建一个空数组,才可以保存页面的正常显示.而放在视图里则比较的方面.但也有说视图里不能放逻辑代码.
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
shenma
shenma
当前离线
积分
5036
IP卡
狗仔卡
发表于 2011-11-7 15:46:06
|
显示全部楼层
视图里可以放逻辑代码,只是比较少而已。
回复
支持
反对
使用道具
举报
显身卡
yuzhigang5460
yuzhigang5460
当前离线
积分
1851
IP卡
狗仔卡
发表于 2011-11-7 17:09:27
|
显示全部楼层
放在控制器好些。
控制器的目的就是协调数据与显示之间的逻辑,取不到数据时应该在控制器里做一些判断或跳转。
回复
支持
反对
使用道具
举报
显身卡
acabin
acabin
当前离线
积分
151
IP卡
狗仔卡
发表于 2011-11-11 13:45:18
|
显示全部楼层
看具体需求了
如果需求是为空就给个提示“我是空的”
该逻辑建议放在view
如果是为空则跳转
则放在控制器比较好
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页