欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ci框架(二),ci框架_PHP教程

程序员文章站 2023-12-24 19:04:45
...

ci框架(二),ci框架

自定义SQL语句

当提供的API满足不了我们对SQL语句的要求的时候,我们通常是自己来写SQL语句,CI也提供了比较强大了,能够满足我们需求的一般的sql的API。

$res=$this->db->select('id,name')
    ->from('表名')
    ->whrer('id >=',5)//注意id后面要有个空格
    ->limit(3,2)//这里与sql的limit是顺序是反的
    ->order_by('id desc ')
    ->get();//翻译成sql语句
var_dump($res->result());
echo $this->db->last_query();//先是最近一条SQL

自定义扩展控制器

在application/core中新建MY_Controller.php

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        //一定呀先调用父类的构造方法
        //登录验证、权限验证、其他操作。。。
    }
}

同时需要在application/config/config.php中配置一下:

$config['subclass_prefix'] = 'MY_';

自定义扩展模型

在application/models中创建user_model.php

class User_model extends CI_Model
{
    public function getAll()
    {
        $res = $this->db->get('表名');
        return $res->result();
    }
}

在控制器中调用自定义模型

application/controllers:

class User extends MY_Controller
{
    public function index()
    {
        $this->load->model('User_model');//调用以类名为主,而不是文件名
$list = $this->User_model->getAll();//调用模型获取数据
$this->load->view('user/index',array('list'=>$list));//加载视图  
    }   
}

加载模型的时候可以给模型取一个名字:

$this->load->model('User_model','user');//调用以类名为主,而不是文件名        
$list = $this->user->getAll();//调用模型获取数据

Url相关函数

在表单验证的时候,需要把数据传给控制器,怎么准确的而且可扩展的写action呢,调用API:

public function addView()
{
    $this->load->helper('url');//为了不把表单传递的地址写死,用url函数
    $this->load->view('user/add');
}

在user/add.php视图当中:

form action="" method="post">

form>

如果是index.php目录的话,用:

base_url();

这个API。

同时,每次加载url很麻烦,也可是设置成自动加载,在config/config.php中修改:

$config['helper'] = array('url');

可能在后面的版本中就没有这个自动加载了。

路由

ci框架(二),ci框架_PHP教程$route['rouxx/showxx/([\d]+)\.html'] = 'rou/show/$1';//插入这句话

ci框架(二),ci框架_PHP教程分页

相关标签: 二维数组

上一篇:

下一篇: