tczhangzhi 发表于 2016-5-5 18:36:59

上手ci时候的一些问题

看ci手册的时候还是遇到一些问题的,先记录下来,路过的大大们和后来的宝宝们都可以看看

tczhangzhi 发表于 2016-5-5 18:39:48

路由
控制器现在开始工作了!在你的浏览器中输入 index.php/pages/view 来查看你的页面。当你访问 index.php/pages/view/about 时你将看到 about 页面, 包括页头和页脚。

使用自定义的路由规则,你可以将任意的 URI 映射到任意的控制器和方法上,从而打破 默认的规则:

http://example.com///

让我们来试试。打开文件 application/config/routes.php 然后添加如下两行代码, 并删除掉其他对 $route 数组赋值的代码。

$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
CodeIgniter 从上到下读取路由规则并将请求映射到第一个匹配的规则,每一个规则都是 一个正则表达式(左侧)映射到 一个控制器和方法(右侧)。当有请求到来时,CodeIgniter 首先查找能匹配的第一条规则,然后调用相应的控制器和方法,可能还带有参数。

你可以在关于 URI 路由的文档 中找到更多信息。

这里,第二条规则中 $routes 数组使用了通配符 (:any) 可以匹配所有的请求, 然后将参数传递给 Pages 类的 view() 方法。

现在访问 index.php/about 。路由规则是不是正确的将你带到了控制器中的 view() 方法?实在是太棒了!



大家看路由这一段的时候有没有注意到这样一个地址$route['(:any)'] = 'pages/view/$1';
这个$1代表什么鬼呢?

tczhangzhi 发表于 2016-5-5 18:47:08

<?php
class News_model extends CI_Model {

    public function __construct()
    {
      $this->load->database();
    }
}
还有这一段关于模型的,我进去CI_model类里看了一下,并没有load方法啊,为什么可以调用它呢~

tczhangzhi 发表于 2016-5-5 19:08:51

tczhangzhi 发表于 2016-5-5 18:47


在CI_controller里面发现了load,所以我们只要在controller里写这一部分就可以了
页: [1]
查看完整版本: 上手ci时候的一些问题