CodeIgniter学习笔记一:基本结构、控制器、视图、超级对象、数据库
一、基本结构CodeIgniter3.0.0解压后有8个文件,分别是:
二、控制器Controller控制器在application文件夹中的controllers文件夹中,默认控制器为welcome,有4小点需要注意: 1、控制器类名不需要加后缀 2、控制器文件名建议小写 3、控制器要直接或间接继承自CI_Controller类 4、可访问的action方法名不能以下划线开头,且访问权限要是public的 三、视图View视图在application文件夹中的views文件夹中,几个tips: 1、在控制器中用如下代码加载views中的视图: -> load -> view('user_index'<span style="color: #008000;">//<span style="color: #008000;">加载views/user文件夹中的index.php视图文件<span style="color: #800080;">$this -> load -> view('user/index'); 2、在视图中,可以直接使用原生的php代码 3、在控制器中可以通过以下方式向视图中输出变量: User = 'username' => 'jim','books' => 'a','b','c','d' </span><span style="color: #800080;">$head</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(
</span>'title' => 'TITLE','subtitle' => 'SUB TITLE'<span style="color: #000000;">
);
</span><span style="color: #800080;">$this</span> -> load -> vars('data',<span style="color: #800080;">$data</span><span style="color: #000000;">);
</span><span style="color: #008000;">//</span><span style="color: #008000;">公共部分</span>
<span style="color: #800080;">$this</span> -> load -> view('header'<span style="color: #000000;">);
</span><span style="color: #800080;">$this</span> -> load -> view('user/index',<span style="color: #800080;">$head</span><span style="color: #000000;">);
}
}
?> User四、CI的超级对象CI中的超级对象即为当前的控制器对象。在视图中也可以直接使用$this访问超级对象。 超级对象提供了很多属性: 1、$this -> load ,装载器,主要提供了如下方法:
2、$this -> uri,解析URL相关内容,主要提供如下方法: segment:按索引(控制器为1)获取分段url值(类pathinfo没有key的模式:入口.php/控制器/动作/参数1/参数2。。。),示例如下
3、$this -> input,主要用于取post和server数据,使用方法如下: User = -> input -> post('username' = -> input -> server('REMOTE_ADDR' ; -> load -> view('user/index'?>五、数据库操作数据配置文件在 application/config/database.php 中。 1、查询示例 User -> load -> view('user/index' </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> showusers() {
</span><span style="color: #800080;">$this</span> -> load -><span style="color: #000000;"> database();
</span><span style="color: #800080;">$sql</span> = 'select * from ci_test'<span style="color: #000000;">;
</span><span style="color: #800080;">$res</span> = <span style="color: #800080;">$this</span> -> db -> query(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #800080;">$users</span> = <span style="color: #800080;">$res</span> -><span style="color: #000000;"> result();
</span><span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$users</span><span style="color: #000000;">);
</span><span style="color: #008000;">/*</span><span style="color: #008000;">
array (size=1)
0 =>
object(stdClass)[18]
public 'id' => string '1' (length=1)
public 'name' => string 'jim' (length=5)
public 'title' => string 'ci learn' (length=8)
</span><span style="color: #008000;">*/</span>
<span style="color: #800080;">$users2</span> = <span style="color: #800080;">$res</span> -><span style="color: #000000;"> result_array();
</span><span style="color: #008000;">/*</span><span style="color: #008000;">
array (size=1)
0 =>
array (size=3)
'id' => string '1' (length=1)
'name' => string 'atwal' (length=5)
'title' => string 'ci learn' (length=8)
</span><span style="color: #008000;">*/</span>
<span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$users2</span><span style="color: #000000;">);
</span><span style="color: #800080;">$firstUser</span> = <span style="color: #800080;">$res</span> -><span style="color: #000000;"> row();
</span><span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$firstUser</span><span style="color: #000000;">);
</span><span style="color: #008000;">/*</span><span style="color: #008000;">
object(stdClass)[18]
public 'id' => string '1' (length=1)
public 'name' => string 'atwal' (length=5)
public 'title' => string 'ci learn' (length=8)
</span><span style="color: #008000;">*/</span>
<span style="color: #800080;">$this</span> -> load -> view('user/show'<span style="color: #000000;">);
}
}
?> load -> database()进行装载数据库,然后才能使用 $this -> db 对象。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
