接触ci框架的小总结

        在接触CI之前本人用的最多的框架主要是phpcms、thinkphp3.23,现在开始使用CI框架。刚开始在网上百度了一下CI的概述,里面就提到说CI是一个轻量级的框架,相对于其他框架来说要快一些。个人感觉主要体现在两方面。一个是最基础的CI并没有加载过多的扩展,只是保留了一些必须或者常用的扩展;另一个就是CI的模板没有过多应用模板引擎,而是使用一种接近于原生的模板进行页面显示(与原生的php之间还是存在一点差距,比如花括号和一些关键字的结束符如endif endforeach)。CI也是采用MVC的模式,所以上手速度比较快,用着也挺舒服的。

  首先说一下目录结果吧,CI根目录一般放置三个目录:application  system user_guide。根目录下的index.php为入口文件。application主要放置开发的文件,user_guide主要放置一些静态资源文件,system目录放置CI的一些基础类和CI的辅助文件。开发过程中主要都是操作application目录的。需要提一下的是system里面有很多不错的辅助工具类,目前个人用得比较多的应该就是分页和缓存了。application目录下需要重点关注的就是controllers models views分别为控制器 模型 视图。CI的MVC分离得比较彻底,不能在controller里面进行数据操作,只能通过$this->load->model()来加载对应的模型后再调用模型里面的方法。这点与thinkphp3.2.3有些区别,本人刚开始用CI的时候也不太习惯。而调用模板的时候则是通过$this->load->view($a,$b)来实现,$a为模板的路径,$b为传递到模板中的数据(如$b=['test'=>$arr1,'test1'=>$arr2],在模板中是直接使用$test与$test1来输出数据)。

       这里介绍几种用得比较多的特殊模板写法,在模板中书写if语句时应为(<?php if():?><?php else:?><?php endif;?>),echo语句简易写法为(<?='输出内容'?>),foreach语句写法为(<?php foreach($a as $k=>$v):?><?php endforeach;?>)(这里没有tp里面的foreachelse的写法)。其他基本都是按照正常php写法在模板里进行代码编写。

       CI的数据操作都放在模型中。个人使用的模型命名为对应的控制器加上“_m”,如控制器Activity.php的模型一般取名为‘Activity_m.php’,模型是允许被其他控制器使用的,而非控制器Activity.php独有。需要注意的是控制器中的方法不能共用(个人暂时没尝试成功)。模型类一般继承CI_Model,个人有特殊需求的可以继承其他模型。CI_Model里面加载了db类,进行数据库操作时一般使用类似$this->db->where()(这里根据具体情况将where()替换为对应的方法)。常用的方法有where('字段(<>)','值') where_in('字段','数组') order_by('字段','排序方法') limit() select('字段名')(该方法为获取需要的字段,同tp的field()) update('表名','需更新的数据') delete('表名') insert('表名','需插入数据') insert_id() get('表名')(获取数据的方法,需配合result() result_array() row() row_array()来最终获取对应类型的数据) join('关联的表名','关联条件','关联方式') last_query()(上一次执行的sql语句)affected_rows()(影响行数)(事务操作组合trans_begin()  query('原生sql')  trans_status()===FALSE  trans_rollback()  trans_commit())。与tp不同的是,CI既可以进行连贯操作,也允许一个一个方法地调用。

        关于controller需要注意的东西相对比较少,controller主要用于整理从model中获得的数据,并传递到view中去。一般的CI访问路径应为http://域名/index.php/控制器名/控制器中的方法名。

        application目录下还存在helpers目录,此处一般放置共用函数;config目录放置配置文件;libraries目录放置自定义扩展,当需要引用时,在controller里调用$this->load->library('文件名')进行加载即可。

        以上如只是用于普通开发,已足够应付了,其他更深入的应用在其他文章中进行描述,就不添加到此处。

转载于:https://www.cnblogs.com/ambition-hh/p/CI.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值