PHP语言学习之php codeigniter
小标 2019-02-22 来源 : 阅读 1568 评论 0

摘要:本文主要向大家介绍PHP语言学习之php codeigniter了,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍PHP语言学习之php codeigniter了,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

PHP语言学习之php codeigniter

1、CI是什么


       CI的全称是CodeIgniter, 一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。基于MVC设计模式,轻量易学,注重安全,文档健全,有丰富的类库。


2、CI能做什么


       CI提供了许多丰富的类库,比如文件上传、图片处理、文件压缩、邮件发送等。这些类库的存在大大减低了开发的难度与周期,也减少了整合外部类库的需求。能快速高效的开发各种web应用: 比如电子商务网站、SNS、论坛、内容管理系统(CMS)、客户关系管理系统(CRM)等等。


3、MVC




  • 入口文件:唯一一个让浏览器直接请求的脚本文件



  • 控制器controller:协调模型和视图



  • 模型model:提供数据,保存数据



  • 视图view:只负责显示、表单...



  • 动作action:是控制器中方法,用于被浏览器请求



4、CI中的mvc




  • 访问url使用的是pathinfo:入口文件.php/控制器/动作



  • application目录中:controllers(控制器)、models(模型)、views(视图)



5、c(控制器)。




  • 不需要加后缀;



  • 文件名全部小写(例如:user.php);



  • 所有控制器,直接或间接继承自CI_Controller类;



  • 控制器中,对动作(方法)要求:public、不能已下划线开始、不要与类名相同(否则会被认为是构造方法)。



6、视图。




  • 在控制器中加载视图:$this->load->view(视图)



        //直接写视图名,不写扩展名,如有子目录,则加上子目录,可以多次调用view;




  • 视图中直接使用php原生代码,不使用模版引擎;



  • 遍历数据推荐使用<?php foreach($list as $item):?> <?=$item[‘‘]?> <?php endforeach;?>。



  • 分配变量:this->assign(‘key‘,‘value‘)//smarty中;this->load->vars(‘key‘,‘value‘)或$data[‘list‘]=$list this->load

    ->vars($data)



7、超级对象




  • 当前控制器对象(CI_Controller)



  • 提供了很多属性:

    $this->load(类属性,Loader.php中装载器CI_Loader类实例)

              装载器CI_Loader类中提供方法:view()-装载视图、vars()-分配变量到视图、database()-装载数据库操作对象、model()-装载模型对象、helper()-辅助函数。

    $this->uri(类属性,URI.php中CI_URI类的实例)

               CI_URI类中提供方法:

               segment() 用于获取url中的参数   入口文件.php/控制器/动作/参数1/参数2(或者动作中带相对应参数)

    $this->input(类属性,Input.php中CI_Input类的实例)

                CI_Input类中提供方法:

                post() 获取post提交的数据,相当于$_POST ;server() 获取服务器中相关信息,相当于$_SERVER。



  • 在视图中,直接用$this来访问超级对象中的属性。



8、操作数据库




  • 修改配置文件:application\config\database.php



  • 装载数据库对象:$this->load->database();



  • 写sql:$sql="";



  • 执行sql:$this->db->query($sql,[关联数组]); 查询返回数组($res->result()),增删改返回布尔



9、ar(active record,常用的简单sql)操作




  • 修改配置文件:application\config\database.php($active_record = TRUE;);application\config\autoload.php($autoload[‘libraries‘] = array(‘database‘);)



  • 执行查询:$this->db->get(表名);查询表中所有数据



  • 执行插入:$this->db->insert(表名,关联数组数据);



  • 执行更新:$this->db->update(表名,关联数组数据,条件(array))



  • ar连贯操作:$this->db->select(‘id,name‘)->from(‘user‘)->where(‘id >=‘,3)->limit(3,2)->order_by(‘id desc ‘)

    ->get();

     // ci执行的sql($this->db->last_query())为select ‘id‘,‘name‘ from(‘blog_user‘) where ‘id‘ >=3 order by ‘id‘ desc limit 2,3



10、扩展ci控制器




  • application\core\目录下创建MY_Controller.php其中类继承CI_Controller。其他控制器就可以继承MY_Controller。



11、m(模型)




  • User_model继承自CI_Model,可以直接使用超级对象中的属性。文件名全小写,类名首字母大写,建议使用_model作为后缀。



  • 控制器中

    加载模型:$this->load->model(‘User_model‘);

    调用模型获取数据:$list=$this->User_model->getAll();

    加载视图:$this->load->view(‘视图名‘,array(‘list‘=>$list));



12、url相关函数




  • 控制器中加载url(常使用可以在config目录下的autoload.php文件中配置):$this->load->helper(‘url‘);  然后表单中action可写为<?php echo site_url(‘控制器名/方法名‘); ?>



  • base_url:<?php  echo base_url(); ?>获取基础目录(网站根目录)



13、设置路由




  • 在config目录下的routes.php文件中配置



  • $route[‘news/(\d+)\.html‘]=‘article/show/$1‘; //=后面是实际访问地址,前面的生成显示地址



14、ci的分页




  • 装载类文件:$this->load->library(‘pagination‘); $this->load->helper(‘uri‘);



  • $config[‘base_url‘]=site_url(‘控制器/方法名‘); //地址



  • $config[‘total_rows‘]=100; //记录总条数



  • $config[‘per_page‘]=10;  //每页记录数



  • $config[‘first_link‘]=‘首页‘; //设置首页链接显示名称



  • $this->pagination->initialize($config); //初始化设置



  • $page_index=intval($this->uri->segment(3)); //得到起始位置



  • $sql=‘select * from 表名 limit $page_index,10‘;



  • $data[‘links‘]=$this->pagination->create_links(); //创建链接



  • $this->load->view(‘目录/php名‘,$data);



15、文件上传




  • form表单,其中必有属性enctype="multipart/form-data"。



  • input标签,type为file。



  •  $config[‘upload_path‘] = ‘./uploads/‘; //上传目录



  •   $config[‘allowed_types‘] = ‘gif|jpg|png‘; //文件类型



  •   $config[‘max_size‘] = ‘100‘; //文件最大限制



  •   $config[‘max_width‘]  = ‘1024‘; //文件最大宽度



  •   $config[‘max_height‘]  = ‘768‘; //文件最大高度



  •   $this->load->library(‘upload‘, $config); //装载上传文件



  •   $this->upload->do_upload(‘input标签名‘)); //上传



16、session(需配置)




  • $this->load->library(‘session‘); (注:md5(uniqid()); //生成密匙)



  • this->session->set_userdata($array); //多页面传递数据



  • this->session->set_flashdata($array); //两页面传递之后销毁



17、验证码(辅助函数CAPTCHA,详细查api)


18、表单验证(详细查api

php codeigniter


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程