本文转载自:http://www.softeng.cn/?p=45

今天开始,我将在这里连载由我自己编写的《CodeIgniter框架入门教程》,首先,这篇教程的读着应该是有PHP基础的编程人员,如果你是PHP初学者,建议你先学习基础的PHP技术(包括:变量、选择、判断、循环、数组、面向对象、数据库操作等)以及基础的Web技术术语(包括:URL、页面、表单、交互等),之后再来学习本套教程。
       下面我先来介绍一下CodeIgniter框架。CodeIgniter是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个使用共享主机,并且为客户所要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架那么 CodeIgniter 就是你所需要的。CodeIgniter 是一个基于MVC框架的PHP开源轻量级框架,适合快速开发,相对与Zend Freamwork,其更容易学习和应用,而且CodeIgniter 入门简单,配置方便,适合有PHP基础,但初学MVC模式的编程人员,因为该框架较为简单,所以其帮助文档即可做为初学教程,现将代码及API文档发布如下。

CodeIgniter框架源代码下载地址:

http://pan.baidu.com/s/1hqqnaCW

CodeIgniter框架API手册下载地址:

http://pan.baidu.com/s/1eQvGKyI

接下来给大家介绍一下MVC框架是什么。MVC框架全名Model(模式)—View(视图)—Controller(控制器),用一种业务逻辑和数据显示分离的方法组织代码,使用MVC框架编写的源代码,方便维护、条理清晰,能够使程序员快速的定位到所有修改的代码位置,同时,因为业务逻辑和数据显示的分离,有效的提高了前后台开发人员的配合程度和开发速度。       现在来看看MVC各自的具体作用。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据;View(视图)是应用程序中处理数据显示的部分也就是用户能够看到的界面,通常视图是依据模型数据创建的;Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据,最后,将模型返回的数据发送给视图,显示在界面上。
       MVC框架是怎样工作的呢?这其实是一个很重要的问题,对于标准的MVC框架来说,Controller层往往是程序的入口(网页的地址就是Controller层的地址),然后由Controller层加载View层进行显示(显示在浏览器上的页面其实并不是你输入的地址),在View层用户通过表单实现交互,表单将数据传回Controller层,由Controller层调用Model层进行数据处理、存储、读取等操作,然后Model层将处理结果返回给Controller层,Controller层再次加载View层显示处理的结果,这样就完成了一次完整的、标准的MVC框架下的用户交互动作,在我描述的这个交互过程中,请大家注意两个关键的词语:加载和调用,现在可能还不理解,在接下来的学习中,你将逐步体会到这两个词的区别和关系。为了更加直观的表示,我将整个交互过程用一幅流程图表示,如下所示:

必要的预备知识就是如此了,接下来,就进入正式的代码书写环节。下面,用CodeIgniter框架书写第一个程序——Hello World!
首先,从上面的源代码下载地址上下载CodeIgniter的源代码(本人用的是2.1.0版本),将下载到的压缩包解压,解压之后得到CodeIgniter_2.1.0文件夹,将这个文件夹放到你的web根目录下(本人用的是xampp集成开发环境,所以根目录为xampp/htdocs目录),然后修改文件夹的名字为CI_01(此处不修改也可,这里只是为了方便访问),然后在你的浏览器上输入http://localhost/CI_01/,如果能看到以下界面的话,代表你已经部署好了CodeIgniter框架。

接下来,来看看CodeIgniter框架的根目录结构。
 
       我们的代码编写工作,主要在application目录下完成,现在看看这个目录下有什么吧。
 
       大家可以清楚的看到,在application目录下,有着清晰的MVC结构,同时还有许多其他文件夹,在接下来的学习中,我们将逐步接触到这些文件夹。
       现在,使用你的编辑工具加载整个工程(CI_01目录),我使用的是Aptana Studio 3这款软件书写PHP代码。打开controllers目录下的(以后如无特殊说明,都是以application做为目录起点)welcome.php文件,在index方法中将

$this->load->view('welcome_message');

删除,写上

echo "Hello World!";

保存一下,现在再来看看http://localhost/CI_01/页面的内容呢?如果是下面这样,恭喜你,你的第一个CodeIgniter页面已经成功了。

总结:这一课我们了解了CodeIgniter框架的基本信息,目录结构,通过修改CodeIgniter的默认控制器,书写了第一个Hello World!程序,下一课,我们将学习,如何使用CodeIgniter框架的视图和模型。

第一课源代码下载地址:

http://www.softeng.cn/?p=45

CodeIgniter框架入门教程——第一课 Hello World!的更多相关文章

  1. CI(CodeIgniter)框架入门教程——第二课 初始MVC

    本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...

  2. CodeIgniter框架入门教程——第三课 URL及ajax

    本文转载自:http://www.softeng.cn/?p=74 这节课讲一下CI框架的路由规则,以及如何在CI框架下实现ajax功能. 首先,先介绍CI框架的路由规则,因为CI框架是在PHP的基础 ...

  3. 160921、React入门教程第一课--从零开始构建项目

    工欲善其事必先利其器,现在的node环境下,有太多好用的工具能够帮助我们更好的开发和维护管理项目. 我本人不建议什么功能都自己写,我比较喜欢代码复用.只要能找到npm包来实现的功能,坚决不自己敲代码. ...

  4. Elasticsearch7.X 入门学习第一课笔记----基本概念

    原文:Elasticsearch7.X 入门学习第一课笔记----基本概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

  5. 《进击吧!Blazor!》系列入门教程 第一章 8.部署

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  6. Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis

    https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...

  7. Go-Micro框架入门教程(一)---框架结构

    Go语言微服务系列文章,使用golang实现微服务,这里选用的是go-micro框架,本文主要是对该框架的一个架构简单介绍. 1. 概述 go-micro是go语言下的一个很好的微服务框架. 1.服务 ...

  8. Newbe.Claptrap 框架入门,第一步 —— 开发环境准备

    Newbe.Claptrap 框架依托于一些关键性的基础组件和一些可选的辅助组件.本篇我们来介绍一下如何准备一个开发环境. Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架.如 ...

  9. NeHe OpenGL教程 第一课:OpenGL窗口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. 搭建Struts2不同版本jar包不同

    struts2的版本比较多,所以在开发的时候特别要注意版本不同所需引入的包是不一样的.否则,会出现各种问题.而且很难找到问题所在. 以下是我遇到的问题总结: 一.当我运用struts2.3.4.1时, ...

  2. Redis高级应用

    上一篇博文讲述了Redis的一些常用命令,可以对数据库及数据库服务器进行操作,本篇将讲述Redis的高级应用及配置 安全性 设置密码:修改redis.conf中的requirepass,在其后面添加密 ...

  3. linux netstat 命令简解

    Netstat 简介: Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告.常见参数-a (all)显示所有选项,默认不显示LISTEN相 ...

  4. Webpack+React+ES6入门指南[转]

    React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...

  5. javaScript事件(四)event的公共成员(属性和方法)

    一.事件 二.事件流 以上内容见:javaScript事件(一)事件流 三.事件处理程序 四.IE事件处理程序 以上内容见javaScript事件(二)事件处理程序 五.事件对象 以上内容见javaS ...

  6. c++ static变量

    C++中Static作用和使用方法   1.什么是static?  static是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 2.为什么要引入static?   函数内部定义的变量, ...

  7. [转载]ExtJs4 笔记(5) Ext.Button 按钮

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  8. 利用jquery来进行表单的多向提交

    最近由于特别忙,每晚都是1到2点倒床便睡的那种,所以没有给自己要求写日记,等这阶段过完,还会重新开始. 今天来写一个前端的表单提交的方法. 有时往往以为在同一个表单中,不同的按钮,来表达的含义不同,需 ...

  9. 如何在HTML不同的页面中,共用头部与尾部?

    一.asp语言和PHP语言 首先制作一个头部文件head.asp,或者一个底部文件foot.asp.如主页是index.asp,调用头部代码是在index.asp文件代码的开始位置(第一个标记后面,& ...

  10. AC日记——搞笑世界杯 codevs 1060(dp)

    题目描述 Description 随着世界杯小组赛的结束,法国,阿根廷等世界强队都纷纷被淘汰,让人心痛不已. 于是有 人组织了一场搞笑世界杯,将这些被淘汰的强队重新组织起来和世界杯一同比赛.你和你的朋 ...