用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1052|回复: 3
收起左侧

[讨论/交流] 上手ci时候的一些问题

[复制链接]
发表于 2016-5-5 18:36:59 | 显示全部楼层 |阅读模式
看ci手册的时候还是遇到一些问题的,先记录下来,路过的大大们和后来的宝宝们都可以看看
 楼主| 发表于 2016-5-5 18:39:48 | 显示全部楼层
路由
控制器现在开始工作了!在你的浏览器中输入 [your-site-url]index.php/pages/view 来查看你的页面。当你访问 index.php/pages/view/about 时你将看到 about 页面, 包括页头和页脚。

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

http://example.com/[controller-class]/[controller-method]/[arguments]

让我们来试试。打开文件 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代表什么鬼呢?
 楼主| 发表于 2016-5-5 18:47:08 | 显示全部楼层
<?php
class News_model extends CI_Model {

    public function __construct()
    {
        $this->load->database();
    }
}
还有这一段关于模型的,我进去CI_model类里看了一下,并没有load方法啊,为什么可以调用它呢~
 楼主| 发表于 2016-5-5 19:08:51 | 显示全部楼层

在CI_controller里面发现了load,所以我们只要在controller里写这一部分就可以了

本版积分规则