专业网站建设品牌,18年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> CodeIgniter控制器
CodeIgniter控制器
来源:网络整理 时间:2023/2/14 0:06:41 共
3662
浏览
接着前面看, 如果做用户登录功能,用户模块会写在user_service类中。需要登录判断则会增加一个login方法,传入用户名和密码并返回bool值。user_service示例代码如下:
PHP
复制代码
public
function
login
(
$username
,
$password
)
{
$admin
=
$this
->
user_model
->
getUserInfo
(
array
(
'username'
=>
$username
)
)
;
if
(
!
empty
(
$admin
)
&&
(
$admin
[
'password'
]
==
pwd
(
$password
,
$admin
[
'salt'
]
)
)
)
{
return
true
;
}
return
false
;
}
复制代码
用户登录时调用该方法, 根据返回值确定是否要设置登录状态并获取用户资料。如果说要增加ajax控制, 则ajax控制器中只需要接受参数并调用service的方法即可。
来分析下上面这个例子,
控制器调用了service, service调用model获取数据并判断密码是否相等。如果没有service层会怎么样?控制器调用model中的方法,并在控制器中判断密码是否相等,或者说在model中实现上面方法。
如果model只是返回数据,则ajax和登录页面都需要自己判断密码是否相同。
如果model实现判断过程,大部分情况下我们会不由自主的针对问题来写代码,即取数据和判断放在一个过程中。那如果其他地方需要根据用户名获取用户信息就要重写方法了。 如果取数据独立出去呢?也可以的,大部分时候用CI能控制到这里已经很不错了。但这只是一个简单的逻辑,如果更复杂的逻辑,需要调用多个model,那service的功能就更明显了。所以
不建议把业务逻辑写在底层的model中
。
对于控制器,倒不强制把业务逻辑一定写在service中,但至少可以将一些公用部分,以及复杂的业务逻辑抽离。
接下说下控制器中需要注意的事项:
1、 控制器只支持一级目录,不可递归下去,因为支持PATH_INFO的路由方式,想一下都不能递归下去。可使用$this->router对象来获取当前文件夹控制器和方法名。
2、 上层文件将会先解析。如果控制下有admin.php也有admin文件夹则会解析到admin.php控制器。
3、 控制器中的视图不建议在PHP页面load多个,视图的事情应该交给视图去处理, 写在控制器中视图调整时,控制器也要相应调整。
4、 对于公用的Action可以按模块或者按请求类型来区分,具体情况根据项目而定。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
东莞php网站建设
风机 东莞网站建设
网站建设案例方案
网站前台建设
封开网站建设
云浮东莞网站建设
丹阳网站建设效果
xp asp 网站建设
南宁网站建设培训
渭南网站建设远景
·上一条:
CodeIgniter模型
|
·下一条:
CodeIgniter控制器之业务逻辑
同类资讯
怎么增加路由器_服务器
temp分区作用_服务器
服务器在搭建好raid磁盘阵列后_服务器
阿里云邮箱怎么注册_服务器
网易版我的世界连接超时怎么解决_服务器
海康nvr图案密码哪里设置_服务器
迷你世界和疯狂地鼠城是有合作吗_服务器
亚马逊越来越难做_服务器
win7原神pc端不兼容怎么办_服务器
成年人的崩溃在哪里_服务器
冰曼散热器是品牌吗_服务器
几个平台全开加速包依旧没买到_服务器
电信网卡怎么激活_服务器
云收藏和云上传区别_服务器
mt4软件登录不了怎么办_服务器
完美世界服务器怎么老是爆满我要怎么进去呢_服务器
为啥微信的皖事通登录不了_服务器
windows啥意思_服务器
打开总是显示连接服务器失败_服务器
plc的ip地址属于_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2026 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com