CodeIgniter 的基本代码解析

       先来介绍一下 CodeIgniter 的基本架构好了, 所以先来说明一下 CI 的页面是怎么做的。由于使用 MVC 架构, 所以最主要的就是 Controller, 程式透过 Controller 来呼叫 Model 存取资料库, 然后在指定 View 输出, 这样一来, Controller 就可以变得很简单。以制作 Blog 为例, Blog 的首页通常都会显示最新的 10 篇文章, 就以这个简单的范例来说明。不过在这里先只讨论 Controller 部份。
  基本上, 每个 Controller 都是一个 Class, 在每个 Class 里面的 function 都是一个页面, 嗯, 这个概念很重要! 先来看看下面这一段, 应该就会比较清楚。
PHP 复制代码
<?php
class Blog  extends Controller {
     function index ( ) {
         $this -> load -> model ( 'blog_model' ) ;
         $data  =  $this -> blog_model -> get_lastest_entries ( ) ;
 
         $this -> load -> view ( 'blog' ,  $data ) ;
     }
 
     function post ( $id ) {
         echo  "这里是第 $id 篇文章" ;
     }
}
?>
复制代码

在上面这段程式码, 可以看到是一个叫做 Blog 的 Class, 里面包含了 index 以及 post 两个 function。先来说明比较简单的 post 好了, 在先前有提到, 在 Class 中的 function 其实就是一个页面, 不像以往, 一个 php 档案就是一个页面。

接着来看看要如何存取 post 这个页面, 首先看到下面这个网址

    http://domain/blog/post/26

这个网址在 domain 后面的部份, 一开始接的是 “blog”, 没错, 指的就是刚才上面写的 Blog Class, 接着是 “post” 就是在 Class 中看到的 post function, 再后面的 “26〃 就是要传给 post function 的 $id 变数, 也就是第 26 篇文章, 所以只要输入上面的网址, 就可以执行 Blog class 中的 post function, 而输出的结果就跟程式中看到的一样, 会直接输出一行文字, 如下:

    这里是第 26 篇文章

看到这边大概就知道 CI 的 Controller 是怎么运作的吧? 好, 接着再来看看 index 这个 function, 存取 index 页面的网址如下

    http://domain/blog/index

或更简短

    http://domain/blog

只要输入上面这个网址就会显示出 index 这个 function 所产生的页面, 也就是显示最新的 10 篇 blog 文章。另外, 由于 index 是 CI 预设的首页, 所以存取这个页面的网址可以比 post 更简短, 不过这个 index function 未免也太简洁了吧!? 没错, 使用 CI 就是那么简洁 

接下来来说明一下 index 里的程式码, 可以看到 index function 里总共只有 3 行, 先来看看第一行:

$this->load->model('blog_model');

在这里大家先知道, 这里是在载入一个叫做 blog_model 的 Model, 而 Model 主要的工作就是在存取资料库。接下来第二行如下:

$data = $this->blog_model->get_lastest_entries();

在这里就先想像一下 blog_model 中, 已经写好一个叫做 get_latest_entries 的 function, 会取出最新的 10 篇文章然后 return。而在上面可以看到, 最后会将取出的资料传给 $data 这个变数, 接着在最后一行, 将 $data 一起输出给 View, 这样一来就完成了 Blog 首页啦!! 当然 View 的部份也就不先说明了。不过还是列一下如和载入要显示的 View, 并先前透过 get_latest_entries 所取出的资料一起透过 View 输出。

$this->load->view('blog', $data);

基本上 Controller 就是长得这样, 在一个 Controller (Class) 中包含许多页面(function), 这么一来, 把相关的页面写在同一支 Controller 中, 是不是比较好维护呢? 另外使用 MVC 架构, Controller 看起来也会简洁许多。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
CodeIgniter框架中,获取POST参数可以使用$_POST['key']来获取。此外,CodeIgniter还封装了一个Input类,可以使用$this->input->post('key')来获取POST提交过来的数据。例如,可以使用以下代码来获取POST参数: $key = $_POST['key']; 或者 $key = $this->input->post('key'); 其中,'key'是要获取的POST参数的键名。这样就可以获取到相应的POST参数了。 另外,CodeIgniter还提供了获取GET参数的方法。可以使用$this->input->get('key')来获取GET参数。这样可以方便地获取到URL中的GET参数。 总结起来,CodeIgniter框架中可以通过$_POST['key']、$this->input->post('key')获取POST参数,通过$this->input->get('key')获取GET参数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CI框架获取post和get参数_CodeIgniter心得](https://blog.csdn.net/lishk314/article/details/48240607)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [在CodeIgniter中检索JSON POST数据](https://blog.csdn.net/weixin_39954674/article/details/115108581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值