CI框架下载安装、项目搭建

下载路径

https://codeigniter.org.cn/user_guide/installation/downloads.html
在该页面上选择最新版的CI进行下载,然后解压到自己的项目运行文件夹下,加压后的文件如下图:
CI框架下载安装、项目搭建_第1张图片

配置项目域名

在本地我的域名为:www1.CI.com。第一次打开时的页面如下:
CI框架下载安装、项目搭建_第2张图片
如上图,这个文件的路径为:application/view/welcome_message.php,使用application/controllers/welcome.php作为其控制器渲染模板,内容:


defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index() {
        $this->load->view('welcome_message');
    }
}

URL分段

CI框架支支持model-view-controller模式,所以他的URL中的每一段通常表示下面的含义:

examople.com/class/function/ID
  • 第一段表示要调用的控制器类class;
  • 第二段表示要调用的类中的函数或方法(function函数);
  • 第三段及之后代表传递给控制器的参数,如ID或者其他任何变量

    类似这样的:

    example.com/index.php/products/shoes/sandals/123

    后面有四段、五段…这些多余的段都将作为参数传递到方法shoes中,举例:

     
    class Products extends CI_COntroller {
    
    public function shoes($sandals, $id) {
        echo $sadals;
        echo $id;
    }
    }

启用查询字符串

index.php?c=products&m=view&id=345

类似这种字符串格式的URL,c表示controller的名字,m指向要调用的方法,配置方式如下:打开application/config/config.php配置文件,查找如下项:

$config['enable_query_strings'] = false;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

修改后的配置文件内容如下:

$config['enable_query_strings'] = true;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

之后我们就可以通过如下的方式方便的调用自己的控制器和方法了:

index.php?c=controller1&m=method1

控制器

简而言之,控制器就是一个类文件,是以一种能够和url关联在一起的方式来命名的。
如下的URL就会查询加载一个名为Blogs的控制器:

example.com/index.php/blogs/

在application/config/config.php中可以设置自己的默认控制器,当URL没有分段参数时就加载这个默认控制器,内容如下:

$route['default_controller'] = 'blogs';

此时就表示自己的默认控制器为blogs。

视图

视图页面不能直接显示,它必须通过控制器来加载。加载视图的控制器语句:

$this->load->view('blogview');   //此处填写要加载的视图名称

例子:
Blogs.php(Controller文件):

 
class Blog extends CI_Controller {
    public function index(){
        $data['title'] = "My Real Title";
        $data['heading'] = "My Real Heading";

        $this->load->view('blogview', $data);
    }
}

blogsview.html(View文件):

<html>
<head>
    <title>$title; ?>title>  //$title即控制器文件中定义的$data['title'];
head>
<body>
    <h1><php echo $heading; />h1>    //$heading即控制器文件中定义的$data['heading'];
body>
html>

循环数组

在控制器中定义数组$data[‘todo_list’],然后在视图中循环输出:

    foreach($todo_list as $item):?>
  • echo $item; ?>
  • endforeach;?>

将视图作为数据返回

加载视图方法有一个可选的第三个参数可以修改它的默认行为,它可以让视图作为字符串返回而不是显示到浏览器中,这在你想对视图数据做某些处理的时候很有用,如果将该参数设置为TRUE,则方法返回字符串,默认情况下为false,即将视图直接显示在浏览器中,返回数据的格式如下:

$string = $this->load->view('myFile', '', TRUE);

模型

是专门用来和数据库打交道的php类,主要包含数据库的插入、更新及查询数据的模型类,
下面是一个加载模型、处理视图的控制器:

class Blogs_controller extends CI_Controller {
    public function blog() {
        $this->load->model('blog');
        $data['query'] = $this->blog->get_last_ten_entries();
        $this->load->view('blog',$data);
    }
}

辅助函数

即帮助我们完成特定任务的函数,每个辅助函数文件都是某一类函数的集合。如:URL辅助函数帮助我们创建链接,表单辅助函数帮助我们创建表单元素,文本辅助函数帮助我们处理文本的格式化,Cookie辅助函数帮助我们读取或设置Cookie,文件辅助函数帮助我们处理文件,等等等。

加载辅助函数:

$this->load->helper('url');  //即加载文件名为url_helper.php的URL辅助函数

加载多个辅助函数:

$this->load->helper(array('helper1', 'helper2', 'helper3'));

使用辅助函数

假设要在视图文件中使用anchor()函数建立连接,就可以这样做:

 echo anchor('blog/commit', 'Click Here'); ?>

其中”Click Here”是链接的名称,”blog/comments”是你希望链接到controller/method的URL。

你可能感兴趣的:(CI)