codeigniter 是一个国外优秀都框架,我也比较喜欢,简洁易用吧。前提初学者要理解MVC,当然对php5 面向对象要比较熟悉。ci 的框架有时间大家 可以读一下吧,读的过程帮助学习和利理解吧。
1. 首先所有的类都去继承 CI_Controkker
classIndex extends CI_Controller {
public function index()
{
parent::__construct(); // 继承基类构造函数
$this->load->database(); // 加载数据库配置
//$this->load->model('brand_model');
echo '后台登陆文件';
}
public function list()
{
//$this->load->database();
//$this->load->database('default');
$sql_string = "SELECT * FROMlcn_product_brand";
$query =$this->db->query($sql_string);
$total = $query->num_rows();
print_r($total);
}
public function news()
{
$test=$this->load->model('brand_model'); //加载数据模型
$this->brand_model->news(); // 注意用模型都方法,用$this->模型的名称(brandmodel)->你调用的方法。
}
}
注意事项:
1:.要能够使用模型中都方法,首先数据库的配置要加载进来。
$this->load->database(); // 加载数据库配置
2. 使用数据库模型:
$this->load->model('brand_model'); 你在哪里使用就在哪里加载
3.注意模型中对象方法的调用:
$this->模型都名称->调用都方法($this->brand_model->news())
2:重点说一下模型:
模型就是一些数据的类,其实开发者没有框架也一样把数据库操作都业务逻辑写到一个类里面。每一个类对应一个相应都模型。
<?php
/*
|-------------------------------------------------------------------
| 品牌brand_model.php
|-----------------------------------------------------------------
*/
classBrand_model extends CI_Model
{
public function __construct()
{
//parent::Model();
parent::__construct();
}
public function load($id)
{
if (!$id)
{
return array();
}
$query = $this->db->get_where('product_brand',array('id'=> $id));
if ($row = $query->row_array())
{
return $row;
}
return array();
}
public function news()
{
echo '加载我吧,我是模型类的一个方法';
}
}
注意:1 模型类都类名要大写。class Brand_model extends CI_Model
2 继承父类 构造函数 parent::__construct(); 容易写成parent::__model();
//3.要能够使用模型中都方法,首先要
模型一旦被载入,你就能通过下面的方法使用它:
$this->load->model('Model_name');
$this->Model_name->function();
在默认的情况下模型名称就直接被引入作为对象名,就如上面所示。当然,如果你愿意,可以起个更好记的对象名!那么,可以在加载模型函数中指定第二个参数来设定,例如:
$this->load->model('Model_name','fubar');
$this->fubar->function();
这里有个控制器的例子,加载一个模型,然后通过视图显示出来
class Blog_controller extends CI_Controller {
function blog()
{
$this->load->model('Blog');
$data['query']= $this->Blog->get_last_ten_entries();
$this->load->view('blog',$data); // 注意这里,如果没有数据,直接调用页面
}
}