SlideShare a Scribd company logo
1 of 18
CodeIgniter 的那些事




      黄波           30 分钟
CodeIgniter 是什么
CodeIgniter is a powerful PHP framework
with a very small footprint, built for PHP
coders who need a simple and elegant
toolkit to create full-featured web
applications. If you‘re a developer who
lives in the real world of shared hosting
accounts and clients with deadlines, and if
you’re tired of ponderously large and
thoroughly undocumented frameworks.


                CodeIgniter 的那些事
CodeIgniter 的背景 / 历史

CodeIgniter 最开始是由 Rick Ellis 开发的,他曾经是
一个摇滚音乐家,现在是一名程序员。


当年由于 Ellis 未能找到一个简单的 PHP 框架,健
壮、易于使用、文档完整,包含建立一个完整应用需要
的所有工具,并且有一个以浏览器为基础的界面,使用
普通用户权限就能安装。没有别的原因,就是“市场需
要”这个单一的原因促使我想开发这样一个框架产品。



              CodeIgniter 的那些事
CI 的特点

 轻量、强大、高效

 文档齐全、易于学习、开发快速、易配置

 功能类库丰富、大量的第三方类库支持



         CodeIgniter 的那些事
学习 CI




        CodeIgniter 的那些事
从 CI 中学习




       CodeIgniter 的那些事
CI 的构架

Design and Architectural Goals
Our goal for CodeIgniter is maximum performance, capability, and
flexibility in the smallest, lightest possible package.


特性
 dynamically instantiated
 loosely coupled
 high component singularity


                             CodeIgniter 的那些事
CI 的构架




         CodeIgniter 的那些事
CI 的构架 -MVC
Model
  和各种数据源打交道,包含但不限于数据库的数据,建立数据源与 php
  变量的关联


View
  表现给用户看的内容, CI 使用的是原生态的 php 作为 html 模板,效率
  很高


Controller
  处理业务逻辑,协调 Model 的工作,支持 View 的工作,以实现业务请
  求
                CodeIgniter 的那些事
CI 的构架 - 单入口文件

对所有请求都能有效的初始化所需资源,包括安
全处理。
CI 并不是强制的只有一个文件,而是一个应用
程序只有唯一的入口。
CI 中 index.php 文件的第一个 PHP 语句设置就
是当前所在的运行环境。

            CodeIgniter 的那些事
CI 的构架 - 应用与系统文件的分离




        CodeIgniter 的那些事
CI 的构架 - 可扩展性(文件)
扩展方式
  创建全新的
  扩展原始的 前缀 MY_
  替换原始的 前缀 CI_


CI 框架的自身大部分组件可以被扩展
 Library, Core class
 Drivers
 Helpers


                        CodeIgniter 的那些事
CI 的构架 -CI   的可扩展性( Hooks )
在不修改 CI 系统文件的情况下运行自己所需的函数或方法以实现修
改 CI 工作流程的目的,需要配置开启 hook




             CodeIgniter 的那些事
CI 的构架 - 支持多种数据库平台
  MySql
  Postgre
  MSSql
  OCI
  ODBC
  SqLite


             CodeIgniter 的那些事
CI 的工作流程




       CodeIgniter 的那些事
CI 框架体现的 web 程序的要素
刚才给出的流程图中直接体现了一些要
素, MVC 、 Security 、 cache 、 libraries 、 helpers 等
等,以下是没有上图未出现的要素却贯穿了整个 CI 的运
行。




                  CodeIgniter 的那些事
Just do IT




CodeIgniter 的那些事
CodeIgniter 中国社区 ID : BruceWolf
Email:BruceWolf@CodeIgniter.org.cn
      iBruceWolf@Gmail.com

More Related Content

Similar to 2011 php技术高峰论坛演讲.黄波

开放源代码软件Media wiki成熟度评估
开放源代码软件Media wiki成熟度评估开放源代码软件Media wiki成熟度评估
开放源代码软件Media wiki成熟度评估YUCHENG HU
 
学习 CodeIgniter
学习 CodeIgniter学习 CodeIgniter
学习 CodeIgniterBruceWolf
 
PHP.on.Windows.Overview.CHS
PHP.on.Windows.Overview.CHSPHP.on.Windows.Overview.CHS
PHP.on.Windows.Overview.CHScqwang
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdfssuserd6c7621
 
CodeIgniter 2.0.X
CodeIgniter 2.0.XCodeIgniter 2.0.X
CodeIgniter 2.0.XBo-Yi Wu
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台MOBINODE
 
Wiz企业版使用指南
Wiz企业版使用指南Wiz企业版使用指南
Wiz企业版使用指南oldbruce
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训jackieit
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 TaiwanAlan Tsai
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 TaiwanAlan Tsai
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 longMeng-Ru (Raymond) Tsai
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
Azure Functions
Azure FunctionsAzure Functions
Azure FunctionsDino Wang
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)Gelis Wu
 
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
EOS_2015_Fall  Team6 - One to Ten App Design ToolkitEOS_2015_Fall  Team6 - One to Ten App Design Toolkit
EOS_2015_Fall Team6 - One to Ten App Design Toolkitnctusee
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409zhengyiwuxian
 

Similar to 2011 php技术高峰论坛演讲.黄波 (20)

开放源代码软件Media wiki成熟度评估
开放源代码软件Media wiki成熟度评估开放源代码软件Media wiki成熟度评估
开放源代码软件Media wiki成熟度评估
 
学习 CodeIgniter
学习 CodeIgniter学习 CodeIgniter
学习 CodeIgniter
 
PHP.on.Windows.Overview.CHS
PHP.on.Windows.Overview.CHSPHP.on.Windows.Overview.CHS
PHP.on.Windows.Overview.CHS
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
 
CodeIgniter 2.0.X
CodeIgniter 2.0.XCodeIgniter 2.0.X
CodeIgniter 2.0.X
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
Wiz企业版使用指南
Wiz企业版使用指南Wiz企业版使用指南
Wiz企业版使用指南
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
 
Android JNI
Android JNIAndroid JNI
Android JNI
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
 
Yiitalk
YiitalkYiitalk
Yiitalk
 
emis
emisemis
emis
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
 
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
EOS_2015_Fall  Team6 - One to Ten App Design ToolkitEOS_2015_Fall  Team6 - One to Ten App Design Toolkit
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
 

Recently uploaded

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 

Recently uploaded (6)

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 

2011 php技术高峰论坛演讲.黄波

  • 1. CodeIgniter 的那些事 黄波 30 分钟
  • 2. CodeIgniter 是什么 CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you‘re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks. CodeIgniter 的那些事
  • 3. CodeIgniter 的背景 / 历史 CodeIgniter 最开始是由 Rick Ellis 开发的,他曾经是 一个摇滚音乐家,现在是一名程序员。 当年由于 Ellis 未能找到一个简单的 PHP 框架,健 壮、易于使用、文档完整,包含建立一个完整应用需要 的所有工具,并且有一个以浏览器为基础的界面,使用 普通用户权限就能安装。没有别的原因,就是“市场需 要”这个单一的原因促使我想开发这样一个框架产品。 CodeIgniter 的那些事
  • 4. CI 的特点  轻量、强大、高效  文档齐全、易于学习、开发快速、易配置  功能类库丰富、大量的第三方类库支持 CodeIgniter 的那些事
  • 5. 学习 CI CodeIgniter 的那些事
  • 6. 从 CI 中学习 CodeIgniter 的那些事
  • 7. CI 的构架 Design and Architectural Goals Our goal for CodeIgniter is maximum performance, capability, and flexibility in the smallest, lightest possible package. 特性  dynamically instantiated  loosely coupled  high component singularity CodeIgniter 的那些事
  • 8. CI 的构架 CodeIgniter 的那些事
  • 9. CI 的构架 -MVC Model 和各种数据源打交道,包含但不限于数据库的数据,建立数据源与 php 变量的关联 View 表现给用户看的内容, CI 使用的是原生态的 php 作为 html 模板,效率 很高 Controller 处理业务逻辑,协调 Model 的工作,支持 View 的工作,以实现业务请 求 CodeIgniter 的那些事
  • 10. CI 的构架 - 单入口文件 对所有请求都能有效的初始化所需资源,包括安 全处理。 CI 并不是强制的只有一个文件,而是一个应用 程序只有唯一的入口。 CI 中 index.php 文件的第一个 PHP 语句设置就 是当前所在的运行环境。 CodeIgniter 的那些事
  • 11. CI 的构架 - 应用与系统文件的分离 CodeIgniter 的那些事
  • 12. CI 的构架 - 可扩展性(文件) 扩展方式 创建全新的 扩展原始的 前缀 MY_ 替换原始的 前缀 CI_ CI 框架的自身大部分组件可以被扩展 Library, Core class Drivers Helpers CodeIgniter 的那些事
  • 13. CI 的构架 -CI 的可扩展性( Hooks ) 在不修改 CI 系统文件的情况下运行自己所需的函数或方法以实现修 改 CI 工作流程的目的,需要配置开启 hook CodeIgniter 的那些事
  • 14. CI 的构架 - 支持多种数据库平台  MySql  Postgre  MSSql  OCI  ODBC  SqLite CodeIgniter 的那些事
  • 15. CI 的工作流程 CodeIgniter 的那些事
  • 16. CI 框架体现的 web 程序的要素 刚才给出的流程图中直接体现了一些要 素, MVC 、 Security 、 cache 、 libraries 、 helpers 等 等,以下是没有上图未出现的要素却贯穿了整个 CI 的运 行。 CodeIgniter 的那些事
  • 17. Just do IT CodeIgniter 的那些事
  • 18. CodeIgniter 中国社区 ID : BruceWolf Email:BruceWolf@CodeIgniter.org.cn iBruceWolf@Gmail.com