专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> CodeIgniter控制器
CodeIgniter控制器
来源:网络整理 时间:2023/2/14 0:06:41 共
3647
浏览
接着前面看, 如果做用户登录功能,用户模块会写在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可以按模块或者按请求类型来区分,具体情况根据项目而定。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
网页课件网站设计推荐电脑
网页图标图案设计手绘服装
网页字体设计手绘彩色美甲
白象下载网页设计排版模板
创办网页文字图片排版设计
迅雷网页设计网站广告海报
传奇网页排版设计文字素材
创办网页文字排版设计教程
电影网页设计排版素材可爱
火爆网页设计网站海报制作
·上一条:
CodeIgniter模型
|
·下一条:
CodeIgniter控制器之业务逻辑
同类资讯
杭州女生学html5难学吗_js/jQuery
小程序属于网页吗_vue
以前搜索过的网页现在怎么能找到_js/jQuery
动态扩展组件是什么_vue
12位AD转换器有哪些_js/jQuery
vue中name和areas的用法_vue
西安动物园门票预约官网_vue
怎么把照片合成小视频_vue
现在做前端是不是一定要会开发小程序啊_vue
录制视频用的什么录音软件_vue
vue中的log是什么意思_vue
iphone11延时摄影怎么调速度_vue
vue是开发语言吗_vue
jquery大小写区别_js/jQuery
vue和flutter哪个值得学习_vue
比如我某个时间要做什么记录下来_js/jQuery
JS插件如何使用_js/jQuery
data对象的属性和方法_vue
如何做地图定位_js/jQuery
什么叫语义库_js/jQuery
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com