原文:CodeIgniter入门——HelloWorld

  CodeIgniter(CI)是一套给PHP网站开发者使用的应用程序开发框架和工具包。

  初次接触,来一个HelloWorld~~~ ^_^

准备工作:

一、下载CI

官方网站:http://ellislab.com/codeigniter

CodeIgniter中国:http://codeigniter.org.cn/

可以从上面下载相关版本以及文档,我在这里下载使用的2.2.0版本。

二、安装CI

1.首先你得有php运行环境。如果是windows环境的话,可以使用WAMPPServer。Linux的话,可用LAMP。

2.解压CodeIgniter_2.2.0 到www目录。

三、检测是否安装成功

1.运行localhost/你的CodeIngiter项目名字

2.运行的结果应该看到如下:

上面说明的是如果要修改这个view文件,可以在application/views/welcome_message.php进行编辑,修改展示内容;

如果要修改controller文件,可以在application/controllers/welcome.php进行编辑。

建立HelloWorld:

1.找到application\controllers,新建文件helloworld.php;

2.新建类Helloworld(类名首字母大写),继承CI_Controller,编写函数index(),输出“HelloWrold!”;

具体代码如下:

<?php
class Helloworld extends CI_Controller{
    function index()
    {
        echo 'HelloWorld!';
    }
};
/* End of file helloworld.php */
/* Location: ./application/controllers/helloworld.php */

3.运行http://localhost/<你的CodeIngiter项目名>/index.php/helloworld

成功输出“HelloWrold!”,这是通过controller而不使用view输出了相关内容。下一步用view来控制输出的内容。

4.进入application\views  ,新建helloworld_view.php,在里面编写html模板代码;

<html>
<head>
<title> HelloWorld </title>
<meta name=”Author” content=”">
<meta name=”Keywords” content=”">
<meta name=”Description” content=”">
</head>
<body>
    view for HelloWorld!
</body>
</html>

5.修改controllers内HelloWorld的函数内容:

<?php
class Helloworld extends CI_Controller{
    function index()
    {
        $this->load->view('helloworld_view'); //加载view内容的helloworld_view文件
    }
};
/* End of file helloworld.php */
/* Location: ./application/controllers/helloworld.php */

6.访问查看,效果如下:

这就是使用controller调用view控制输出了内容。

7.接着用上model。

在models下新建一个php文件命名为helloworld_model.php(注意要小写),并在这个php文件中创建一个类:

<?php
class Helloworld_model extends CI_Model{
    
    public function get_helloworld_view()
    {
        $helloworld_view = "HelloWorld!";
        return $helloworld_view;
    }
}
/* End of file helloworld_model.php */
/* Location: ./application/controllers/helloworld_model.php */

8.然后我们在controllers中打开helloworld.php,修改为:

<?php
class Helloworld extends CI_Controller{
    function index()
    {
        $this->load->model('helloworld_model');    //加载model内容的helloworld_model文件
        $data = array();
        $data['helloworld_view'] = $this->helloworld_model->get_helloworld_view();
        $this->load->view('helloworld_view', $data);
    }
};
/* End of file helloworld.php */
/* Location: ./application/controllers/helloworld.php */

9.然后打开views下的helloworld_view.php,修改为:

<html>
<head>
<title> HelloWorld </title>
<meta name=”Author” content=”">
<meta name=”Keywords” content=”">
<meta name=”Description” content=”">
</head>
<body>
    <h1>
    <?php echo $helloworld_view;?>
    </h1>
</body>
</html>

10.再次在浏览器地址栏输入http://localhost/<你的CodeIngiter项目名>/index.php/helloworld

这次整个流程为:controller从model中取得数据,传递给view显示出来。

--------------------------------------------------------------------------------------

CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。

  • 模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。
  • 视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。
  • 控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。

CodeIgniter入门——HelloWorld的更多相关文章

  1. RabbitMQ学习总结 第二篇:快速入门HelloWorld

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  2. Wix学习整理(1)——快速入门HelloWorld

    原文:Wix学习整理(1)--快速入门HelloWorld 1 Wix简介 Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Instal ...

  3. Flask入门HelloWorld

    Flask入门HelloWorld Flask官网:http://flask.pocoo.org/ Flask中文翻译:http://dormousehole.readthedocs.io/en/la ...

  4. Windows Eclipse Scala的入门HelloWorld

    [学习笔记] Windows Eclipse Scala的入门HelloWorld 有关带scala版本的eclipse4.7的下载, 你可以直接去: http://scala-ide.org/dow ...

  5. Springboot2.x入门——helloWorld

    Springboot2.x入门--helloWorld 一.简介 1.1 Springboot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的 ...

  6. idea创建Scala入门HelloWorld

    Scala开发环境的搭建 首先到Scala官网下载Scala网址为 https://www.scala-lang.org/download/ 找到下图所示位置:选择相对应的版本的Scala进行下载,这 ...

  7. Node.js开发入门—HelloWorld再分析

    在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...

  8. 8086汇编语言入门-HelloWorld

    附件下载:  http://pan.baidu.com/s/1i5R9qO9    密码:rfgk 80x86微处理器汇编语言编程.学习任何编程语言都免不了要跨越HelloWorld这道坎,面向机器的 ...

  9. RabbitMQ 入门 Helloworld

    1.介绍 RabbitMQ 是信息传输的中间者.本质上,他从生产者(producers)接收消息,转发这些消息给消费者(consumers).换句话说,他能够按根据你指定的规则进行消息转发.缓冲.和持 ...

随机推荐

  1. Java、PHP训练场地选择成都传祺播客

    传智播客选择九类基础: 1 有不怕炫耀实力,我们会爱一本书,是一个开源项目 2 领先的新技术,让我们的学生走在别人前面,首先推出Hadoop.Unity3D.Nginx. 3 课程广博的知识,深入的技 ...

  2. 小强的HTML5移动开发之路(50)——jquerymobile页面初始化过程

    为了方便说明和更加直观的展示jquerymobile的页面初始化过程以及各个事件的触发过程,我绘制了一幅流程图: 图中用红色框圈起来的是界面中的事件,測试代码例如以下: <!DOCTYPE ht ...

  3. java实现大数相加问题

    闲来没事.写了个acm中常常遇到的大数加减问题的java 解决代码,我想说.用java的BigInteger 非常easy. 大爱java!! 比如: 实现多组输入的大数加减问题: import ja ...

  4. #define XXX do{ XXX } while(0) 为什么使用

    #define XXX do{ XXX } while(0) 为什么使用 时常会遇到一个非常"奇怪的宏定义", rt.(欧西巴...思考不够深刻啊, 皮鞭, 啪啪啪) 近期又遇到这 ...

  5. Android使用的开发MediaRecorder录制声音

    至 Android 录制声音的应用,Android提供 MediaRecorder 类别.大约MediaRecorder可以参考一个特定的解释<Android开发之MediaRecorder类具 ...

  6. hdu 5101 Select(Bestcoder Round #17)

    Select                                                    Time Limit: 4000/2000 MS (Java/Others)     ...

  7. Java模式(适配器型号)

    今天阅读Java该适配器模式,这里有一个小的总结和下谈感受.对于将来使用. 首先.让我们有关适配器先说说. 适应是“来源”至“目标”适应.其中连接这两个的关系是适配器.它负责“源”过度到“目标”. 举 ...

  8. cocos2d-x 3.1.1 学习笔记[17] 关于这些活动功能

    供cocos2d-x通常使用的方法,我有一个好脸色.这项研究真的奖励. 向导首先,定义,实施一系列连续动作. 对于我们的行动能回调函数,我们必须申报并加以实施. void callBack(); vo ...

  9. [ACM] POJ 3686 The Windy&#39;s (二分图最小权匹配,KM算法,特殊建图)

    The Windy's Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4158   Accepted: 1777 Descr ...

  10. 【cocos2d-js官方文档】二十五、Cocos2d-JS v3.0中的单例对象

    为何将单例模式移除 在Cocos2d-JS v3.0之前.全部API差点儿都是从Cocos2d-x中移植过来的,这是Cocos2d生态圈统一性的重要一环.可惜的是,这样的统一性也在非常大程度上限制了C ...