CI快速开发商城0827.docx
- 文档编号:28125776
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:11
- 大小:408.92KB
CI快速开发商城0827.docx
《CI快速开发商城0827.docx》由会员分享,可在线阅读,更多相关《CI快速开发商城0827.docx(11页珍藏版)》请在冰豆网上搜索。
CI快速开发商城0827
一.课程介绍
1.课程目标
使用ci框架完成商城的开发(前台和后台)。
2.课程安排
见官网
3.学习方式
一定要跟着做,在实战中提高自己
4.CI简单介绍
小巧,快速,
天下武功,无坚不破,唯快不破。
Ci还是很受欢迎的。
学习CI还有一个好处,相比其他的一些php框架,更容易掌握。
(源码和思想)
二.CI快速入门
1.获取与安装
直接上官网下载,目前最新版本是2.1.4
将下载好的文件解压打网站根目录,
在页面中直接访问,输入如http:
//localhost/citest
看到此界面,表示安装成功。
Soeasy!
2.定义自己的控制器和视图
在编写代码之前,要明确,我们的代码写在什么地方?
其中user_guide一般会将其删除
重点来关注application文件夹
(1)控制器
控制器说白了就是一个类文件,并且要继承自CI_Controller,此时我们可以借鉴ci自己提供的welcome.php文件。
关于命名规范的问题,如果我们使用别人的框架,尽量要遵守别人制定的规范,正所谓入乡随俗。
Ø类名的首字母应该大写。
如果名称由多个词组成,词之间要用下划线分隔。
Ø类中所有其他方法的名称应该完全小,多个单词之间使用下划线。
Ø类文件名使用小写,名字和类名一致。
定义hello控制器,有一个方法,index
访问:
涉及到ci的url模式
Ci支持的url模式默认为pathinfo形式,也就是使用/隔开。
http:
//localhost/citest/index.php/hello/index
其中http:
//localhost/citest/index.php/是固定的,表示的就是入口文件
而后面的hello则表示控制器,index表示是控制器中的方法。
(2)视图的定义
视图,说白了就是模板文件,可以是html页面,也可以php文件,使用什么后缀并不重要。
视图文件应该放在view文件夹中
(3)在控制器中调用视图
使用$this->load->view(视图名)即可
上面的操作只是简单的将html页面展示出来,而实际上是经常需要在控制器中获得数据,然后分配到视图当中。
使用load->view方法的第二个参数分配数据即可。
然后在视图页面,输出数据。
Ci框架中,模板语法是怎样的?
CI使用的原生的php语法,效率高。
在视图中,直接使用$title输出,而不是$data[‘title’],需要注意,CI它使用了一个extract函数,将数组变量导入到当前的符号表,所以直接使用键名作为变量来访问。
3.必须清楚的几个概念
(1)框架开发和二次开发
打个比方:
买房子
买二手房,直接拎包入住。
好比是二次开发,dedecms,phpcms,echsop
买毛坯房,不能住人,自己去买各种装修材料,请人装修,才能入住。
好比是框架开发,只提供了基础功能和项目结构。
CI是框架,用于框架开发。
(2)MVC
M:
model模型,一般是直接操作数据库的
V:
view视图,一般指的是模板文件,比如html页面,用于展示数据的
C:
controller,控制器,扮演了交通警察的角色,接收请求,然后调用相应的模型来完成工作,获取数据,最后分配到视图。
CI框架也是一个基于MVC的框架。
使用CI框架进行开发的时候,大部分工作就是在MVC这块。
三.MVC完整案例
使用mvc来完成一个新闻的一组操作----增删改查。
1.准备工作
书写一个news控制器,
设计一张表
Ci操作数据库
1)数据库相关配置,在config/database.php
2)连接数据库
Ci提供了专门的数据库操作类,只需要加载该类即可。
有两种方式:
手动载入,在需要使用数据库操作类的地方,使用$this->load->database()即可,比如在模型中载入。
自动载入,在config/autoload.php配置文件中,autoload['libraries']加入database即可。
3)操作
定义news模型
Model_name是模型类的名字。
类名的首字母必须大写,其他字母小写。
文件名应该是模型类名的小写版。
如何使用数据库操作类进行操作呢?
当我们连接了数据库之后,可以使用$this->db来操作数据,最常用的一个方法就是$this-db->query(sql语句)
如果直接使用query,是比较麻烦的。
每次还得自己来拼凑sql语句,我们更希望有一个能够完成自动增删改查的这么一个功能,CI中也提供了这么一个类,这个类就是activerecored类,也叫AR。
最基础的一组操作,如下:
Ø$this->db->get();
Ø$this->db->insert();
Ø$this->db->update();
Ø$this->db->delete();
2.完成添加新闻
在news_model中定义add_news方法完成添加操作
在控制器中,接收表单提交的数据,然后调用模型来完成对数据库的操作。
先解决一个问题,就是在视图中,表单的action的值该如何来写?
这就涉及到CI的辅助函数url函数,
配置base_url,如下:
默认情况下,url辅助函数是没有加载的,要使用,则需要加载,可以在配置文件中,配置自动加载,也可以在需要使用的地方手动加载。
Url辅助函数中,提供了base_url和site_url的方法,
其中,base_url的值是在config中配置的base_url的值,如http:
//localhost/citest/
而site_url的值则是base_url+index_page,如http:
//localhost/citest/index.php
所以,在视图中要定义控制器的某个动作(url),使用site_url
在控制器中,定义insert方法完成插入操作
3.完成新闻的读取
在news_model模型中,定义一个方法,获取数据
然后在news控制器中,定义一个方法index,调用模型的中的方法,获取新闻,然后分配到视图
在视图文件list.html中,展示新闻列表,使用的是php的原生模板语法
在浏览器中,输入http:
//localhost/citest/index.php/news/index
结果如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CI 快速 开发 商城 0827