专业网站建设品牌,18年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> CodeIgniter控制器
CodeIgniter控制器
来源:网络整理 时间:2023/2/14 0:06:41 共
3656
浏览
接着前面看, 如果做用户登录功能,用户模块会写在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可以按模块或者按请求类型来区分,具体情况根据项目而定。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
文字网页设计图片
网页设计 选修课
网页设计的用户引导
有趣的新手网页设计
网页设计商城网站
网页设计如何分段
浅谈网页设计与改进
网页设计尺寸有要求
动态网页设计web
网页设计怎么背景颜色
·上一条:
CodeIgniter模型
|
·下一条:
CodeIgniter控制器之业务逻辑
同类资讯
一些老游戏为什么会闪退_服务器
fusionaccess最新版如何登录_数据库
办公软件中文名分别叫什么_数据库
华为荣耀V9后盖拆解图文教程_服务器
如何改电信APN_服务器
电视行业的搅局者智慧屏会成为下一个智能家居入口吗_服务器
以太网怎么分享网络_服务器
rcep开始执行了吗_java
thinkserver开机读硬盘卡住_服务器
mysql查询统计区域,gp库是什么_数据库
服务器用什么监控软件好_数据库
mysql如何查询日期,Mysql查询连续签到天数_数据库
varchar和char区别_数据库
mysql表查询美化,软件测试自学学习路线图_数据库
mysql查询最小的,内存4G的服务器可以安装mysql吗_数据库
mysql 查询金额总和,暂时又找不到工作_数据库
mysql订单表查询,阿里有哪些硬核技术在世界上领先_数据库
mysql 查询补集,如何在MySql库中_数据库
mysql数据库truncate的锁机制是什么_数据库
mysql查询不包括,MySQL查询select_数据库
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2026 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com