如何快速上手一个CI框架?主要从控制器、视图和模型这三个方面进行学习。首先我们需要去CI官网将CI框架下载下来,然后接下来我们就开始学习了。 一、控制器:
1、首字母大写 和文件名一致; 2、继承系统的CI_Controller 3、方法名不能以_开头,如果以下划线开头,在url地址无法直接访问,但是在类的内部可以访问。 4、存在一个特殊的方法_remap()方法 5、不建议写index控制器,因为在php4语法中,当类名称里面的某个方法名称和类名一致会被认为是构造方法,会被自动的触发 为了单一入口,index.php Function _remap ($method,$param){} 在控制器中当调用某一个方法的时候,该方法会被自动调用(存在),并且在调用的过程中,会把url地址栏的请求的方法作为第一个参数传递,同时url地址栏里面的get参数会传递给第二个参数。 实现的意义:权限控制, 二、视图
视图载入:$this->load->view(“视图名称”); 视图名称小写,以.php结尾;其中文件的类型和文件以什么结尾没有必然的联系,文件类型是通过mime区分的。那为什么要存在后缀呢?主要是为了方便人看,为了让某些软件产生关联。 linux下是没有文件后缀这个概念;查询文件类型通过 file命令。 视图变量赋值:$this->load->vars(“data”,$data); $this->load->view(“视图名”,array(“data”=>$data)); ⚠️CI框架不支持模版标签语法,只支持原生的语法。并且作者也不建议使用标签语法。因为标签语法本身不会快多少,并且标签语法的维护不会少多少,标签语法的可控性不强。 视图分目录管理: 视图可以分目录管理,在载入视图的时候,加上文件夹的名称即可,和laravel一致。
控制器里面可以载入多个视图:非常方便做模版切分 $this->load->view(“header”); $this->load->view(“main”); $this->load->view(“footer”);
视图可以分目录管理,那么控制器是否分目录管理; 可以,分目录就是和tp中一样。
三、数据库 1、连接数据库:$this->load_database();连接成功后,$this->db则是操作数据库的对象 2、自动载入db类 3、模型名:user_model.php 4、如果存在构造方法,先手动的调用父类的构造方法。 5、实例化模型,第一个参数是模型的文件名小写,第二个参数是可选参数,代表的是给模型实例化后对象的别名。 $this->load->model(“模型名”,“对象别名”);
CURD: 地址的生成:site_url();在使用前需要手工的加载url相关的函数。$this->load->helper(“url”);在配置文件中将base_url:配置成域名 是否是一个post提交: 在php中如何判断一个请求行为:$_SERVER[‘REQUEST_METHOD’]判断 数据过滤:htmlspecialchars()或者$this->input->post();接收数据 跳转路径:redirect(“地址”); 获取删除修改的id:$this->uri-> 增加: $this->db->insert(“表名”,”数据”); 删除: $this->db->where(“条件”)—>delete(“表名”); 返回 $this->db->affected_rows();受影响的行数,如果受影响的函数大于0则成功,否者失败
|