0

0

php codeigniter

php中文网

php中文网

发布时间:2016-06-20 12:47:56

|

1344人浏览过

|

来源于php中文网

原创

1、ci是什么

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

2、CI能做什么

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

3、MVC

立即学习PHP免费学习笔记(深入)”;

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

控制器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原生代码,不使用模版引擎;

遍历数据推荐使用=$item['']?>

分配变量: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可写为

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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

7

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

8

2026.02.05

控制反转和依赖注入区别
控制反转和依赖注入区别

本专题整合了控制反转和依赖注入区别、解释、实现方法相关内容。阅读专题下面的文章了解更多详细教程。

11

2026.02.05

钉钉脑图插图教程合集
钉钉脑图插图教程合集

本专题整合了钉钉脑图怎么插入图片、钉钉脑图怎么用相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.02.05

python截取字符串方法汇总
python截取字符串方法汇总

本专题整合了python截取字符串方法相关合集,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Java截取字符串方法合集
Java截取字符串方法合集

本专题整合了Java截取字符串方法汇总,阅读专题下面的文章了解更多详细操作教程。

1

2026.02.05

java 抽象方法
java 抽象方法

本专题整合了java抽象方法定义、作用教程等内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Eclipse创建jsp文件教程合集
Eclipse创建jsp文件教程合集

本专题整合了Eclipse创建jsp文件、创建jsp项目等等内容,阅读专题下面的文章了解更多详细教程。

26

2026.02.05

java 字符串转数字
java 字符串转数字

本专题整合了java如何字符串转数字相关内容,阅读专题下面的文章了解更多详细教程。

4

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 11.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号