专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
CodeIgniter控制器
当前位置:
网站建设
>
技术支持
CodeIgniter控制器
资料来源:网络整理
时间:
2023/2/14 0:06:41
共计:
3626
浏览
接着前面看, 如果做用户登录功能,用户模块会写在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可以按模块或者按请求类型来区分,具体情况根据项目而定。
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
幸运28的网站怎么制作
武汉网站制作内容优化
想制作个简单的网站
任何制作钓鱼网站
网站制作图片显示不全
宣城企业微信网站制作
商务网站模板页制作
需要制作网站比较好
制作台历的网站 知乎
哪个网站的视频制作素材
·上一条:
CodeIgniter模型
|
·下一条:
CodeIgniter控制器之业务逻辑
同类资讯
CodeIgniter模型
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
sqlsrv_send_stream_data
sqlsrv_server_info
解决在IIS6中asp站点设置启用默认内容文档*.asp无效的方法
CodeIgniter项目初始化之目录结构
CodeIgniter项目初始化之环境配置、SVN配置
CodeIgniter项目初始化之权限、调试
CodeIgniter配置之autoload
sqlsrv_field_metadata
sqlsrv_free_stmt
sqlsrv_get_config
sqlsrv_configure
sqlsrv_get_field
sqlsrv_has_rows
sqlsrv_next_result
sqlsrv_num_rows
sqlsrv_num_fields
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州京杭网络科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com