CodeIgniter
首发于CodeIgniter

CI框架(CodeIgniter)使用技巧和步骤小结(一)

不知不觉,已经用了一段时间的CI框架了。最早接触CI还是在15年的时候,那时候没什么编程基础,因此也就是看着周边的大神们用CI做出各式各样功能齐全的页面,心里满是羡慕。直到一年前,正式开始实习,才开始逐渐接触并使用起CI来,并总结得出了不少的经验和技巧,与大家共享。

首先,我们来谈谈CI框架的部署和配置。对于CI而言,基本的部署仅仅需要通过下载官方压缩包,并解压至本地服务器根目录即可。而基本的配置信息,也就是application/config/database.php中,需要填写的服务器地址,用户名密码等基本信息。完成以上步骤,直接访问服务器地址即可见到亲爱的火镰标志了。

配置如下

'hostname' => 'localhost',//主机名,如127.0.0.1
'username' => 'root',//用户名
'password' => 'password',//用户密码
'database' => 'db_test', //目标数据库名

当完成基础配置后,接下来就是了解MVC的基本结构。众所周知,Controller即C层,为MVC结构的核心,通过Controller可加载Model数据和View页面;此处,我们将Controller中函数分为两种:View函数和Action函数。

View函数基本结构为:

public function testView()
{
     $data = array();//需要传入view的数据
     $this->load->view("test/index",$data);
     //声明需要加载的页面为test文件夹中的index.php,并传入数据       
}

Action函数基本结构为:

public function testAction()
{
     $data = $this->input->post();//接收post过来的信息
     $res= $this->test_model->getTest($data);//调用model,返回数据
     echo json_encode($res);//以json格式返回响应
}

基本上两种函数可满足控制器的绝大部分职能,配合附属函数,例如protected属性的一些过滤器(filter)之类。

在Controller中存在两种思路,一种为通过Controller进行业务逻辑的处理,将逻辑全部集成在Controller中。这种模式的好处在于,可通过调用不同model的方式,使得不同模块间数据可互通,提升了灵活性;缺点在于耦合性太高,存在的依赖太多,对代码的修改提出了挑战;


第二种为将业务逻辑全部集成在model中,每个Action函数对应一个model函数,将参数全部通过调用model进行处理,该模式优点在于耦合性低,提升了模块集成程度,缺点在于某些情况下,如需要调用其他表数据时,对可能出现的跨model调用函数的情况,处理起来就力不从心了。本人习惯于第二种方式,将某些可能出现的跨model调用函数集成于一个model文件中,其他model通过继承的方式来调用这些公有函数。

发布于 2019-06-12

文章被以下专栏收录

    CodeIgniter 是基于 PHP 的开源 MVC 应用程序开发框架,旨在提高开发者的开发效率和体验,欢迎大家访问 CodeIgniter 中国开发者社区: http://codeigniter.org.cn