CI框架篇之基础篇(1)
CodeIgniter
是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,
其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量
,并将你的精力投入到项目的创造性开发上。
CodeIgniter 是为谁准备的?
CodeIgniter 就是你所需要的,如果...
- 你想要一个小巧的框架。
- 你需要出色的性能。
- 你需要广泛兼容标准主机上的各种 PHP 版本和配置。
- 你想要一个几乎只需 0 配置的框架。
- 你想要一个不需使用命令行的框架。
- 你想要一个不需坚守限制性编码规则的框架。
- 你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
- 你不喜欢复杂,热爱简单。
- 你需要清晰、完整的文档。
服务器要求
- PHP 版本 5.1.6 或更新的版本。
- 大多数 Web 应用程序需要数据库。当前支持的数据库为:MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite 和 ODBC。
CodeIgniter 使用 M-V-C 模型
CodeIgniter 使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。我们在 MVC 各自的页面中对此做了更多的介绍。
CodeIgniter 不需要模板引擎
虽然 CodeIgniter 确实 自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。考虑以下PHP代码:
模型-视图-控制器
CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。
- 模型 (Model) 代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。
- 视图 (View) 是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。
- 控制器 (Controller) 是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。
CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和你现有的脚本合并使用,或者允许自行开发此系统的核心库,可以使你以最适合你的方式工作。
设计和架构目标
CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。
了解了,如何用户,我们剩下的就是改了解如何使用
CI框架篇之基础篇(1)的更多相关文章
- 深入浅出微服务框架dubbo(一):基础篇
一.基础篇 1.1 开篇说明 dubbo是一个分布式服务框架,致力于提供高性能透明化RPC远程调用方案,提供SOA服务治理解决方案.本文旨在将对dubbo的使用和学习总结起来,深入源码探究原理,以备今 ...
- CI框架篇之基础篇(2)
CodeIgniter 的基础了解了后,现在就来对这个框架进行预热 CodeIgniter 配置 理论是不用配置,直接拷贝到服务器目录下即可运行 CodeIgniter 安装分为四个步骤: 1. 解压 ...
- python框架之Flask基础篇(二)-------- 数据库的操作
1.flask连接数据库的四步: 倒入第三方数据库扩展包:from flask_sqlalchemy import SQLAlchemy 配置config属性,连接数据库: app.config[&q ...
- Web框架之Django基础篇
Web框架之Django基础篇 本节介绍Django 简介,安装 基本配置及学习 路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一 ...
- python框架之Flask基础篇(一)
一.第一个hello world程序 # coding=utf-8 from flask import Flask app = Flask(__name__) @app.route('/') def ...
- python框架之Flask基础篇(四)-------- 其他操作
1.蓝图 要用蓝图管理项目,需要导入的包是:from flask import Buleprint 具体大致分为三步: 1.先在子模块中导入蓝图包,然后再创建蓝图对象. 2.然后将子模块中的视图函数存 ...
- python框架之Flask基础篇(三)-------- 模版的操作
1.flask特有的变量和函数: 变量:g.session.request.config 函数:url_for().get_flashed_messages()这个函数注意了啊,记住这是个函数,别忘了 ...
- 第一篇 Flask基础篇之(配置文件,路由系统,模板,请求响应,session&cookie)
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...
- 第二篇 Flask基础篇之(闪现,蓝图,请求扩展,中间件)
本篇主要内容: 闪现 请求扩展 中间件 蓝图 写装饰器,常用 functools模块,帮助设置函数的元信息 import functools def wrapper(func): @functools ...
随机推荐
- 17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置:
17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置: 在一个复制master,你必须启用binary loggin ...
- bzoj3876
不高兴的回忆啊啊啊当初这种简单题因为自己作死就暴零0了这题在OJ上是简单的最小有下界费用流,增广到正费用为止因为算的是总时限但实际的话似乎要用pacman吃豆豆那题的方法先用dp跑出第一次的增广路再用 ...
- UVA_11796_Dog_Distance_(计算几何)
描述 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- 阮老师讲解TF-IDF算法
TF-IDF与余弦相似性的应用(一):自动提取关键词 作者: 阮一峰 日期: 2013年3月15日 这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题. 有一篇很长的文章,我要用计算机提取它 ...
- 批量导入图片到word并添加文件名
Sub InsertPic() Dim myfile As FileDialog Set myfile = Application.FileDialog(msoFileDialogFilePicker ...
- Netbeans代码配色主题大搜集
我用netbeans的原因之一就是因为其支持代码配色主题,这是个对于一个代码配色字体控来说是非常重要的一个功能.理所当然的,我也会收集各种配色主题来时常换换口味. 下面就是我目前收集的Netbeans ...
- PHP中使用函数array_merge()合并数组
如果明白数组其实就是map的话,我想你就会明白array_merge为什么要这么实现了 PHP中合并数组分成两种情况 1.如果这两个数组中有相同的字符串键名: <?php header('Con ...
- 第一次尝试使用JAVA编写的ATM机程序
package study; import java.util.Scanner; public class ATM { private static int[] users = { 111111, 2 ...
- CentOS6.6从头到尾部署nginx与tomcat多实例 转
前提条件: 1.需要一个全新的centos系统(本文中用到是centos6.6) 2.vmware虚拟机 3.vmware下安装centos系统,以NAT方式与宿主机相连 4.在centos系统中pi ...
- sublime中安装sublimelinter php 语法检查
打开控制台,install package 搜 sublimelinter 先安装sublimelinter本体 安装完以后再搜索一下,安装sublimelinter-php 接下来,打开prefer ...