php ci mvc,[CI快速入门教程2]ci的使用以及完整的MVC案例

ci MVC完整案例

使用mvc来完成一个新闻的一组操作----增删改查。

1.准备工作

书写一个news控制器,

62527d1327b08317b09eae10050d35c7.png

设计一张表

14086689c6f8ffdde225a8874545afe5.png

Ci操作数据库

1)数据库相关配置,在config/database.php

340510d0cc5ee66e78ca4d86cd9c2c6d.png

2)连接数据库

Ci提供了专门的数据库操作类,只需要加载该类即可。

有两种方式:

手动载入,在需要使用数据库操作类的地方,使用$this->load->database()即可,比如在模型中载入。

自动载入,在config/autoload.php配置文件中,autoload['libraries'] 加入database即可。

44c68e2f6dae5127988ad29193358992.png

3)操作

定义news模型

Model_name 是模型类的名字。 类名的首字母必须大写,其他字母小写。

文件名应该是模型类名的小写版。

02c4406512eb28baa8f449a8bb098b8e.png

如何使用数据库操作类进行操作呢?

当我们连接了数据库之后,可以使用 $this->db 来操作数据,最常用的一个方法就是$this-db->query(sql语句)

如果直接使用query,是比较麻烦的。每次还得自己来拼凑sql语句,我们更希望有一个能够完成自动增删改查的这么一个功能,CI中也提供了这么一个类,这个类就是active recored类,也叫AR。最基础的一组操作,如下:

$this->db->get();

$this->db->insert();

$this->db->update();

$this->db->delete();

2.完成添加新闻

在news_model中定义add_news方法完成添加操作

7363bf89864a9c4993da6e31e675e103.png

在控制器中,接收表单提交的数据,然后调用模型来完成对数据库的操作。

先解决一个问题,就是在视图中,表单的action的值该如何来写?

34fc6dc9f48a1e14e097a5f0f63b728b.png

这就涉及到CI的辅助函数 url 函数,

配置base_url,如下:

b03f3d5e03870a27092eb7d1a4af9bd4.png

默认情况下,url辅助函数是没有加载的,要使用,则需要加载,可以在配置文件中,配置自动加载,也可以在需要使用的地方手动加载。

1ba89c57e1f813a32c3ebcdcb0af7371.png

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

3657266b00d870dc9a57e3dad62f40ba.png

在控制器中,定义insert 方法完成 插入操作

71cf2d1ca623497a7fbc9ad1bff7065e.png

3.完成新闻的读取

在news_model模型中,定义一个方法,获取数据

a056daf373e8b43be5cecce3ad2eadd5.png

然后在news控制器中,定义一个方法index,调用模型的中的方法,获取新闻,然后分配到视图

106821de1abb21bf329c2934b413a3b0.png

在视图文件 list.html中,展示新闻列表,使用的是php的原生模板语法

d5715240f5dbafd0f0b0018500b33896.png

在浏览器中,输入http://localhost/citest/index.php/news/index

结果如下:

0d00bc49891ee2c18cbc08eb9c1e87b5.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值