codeigniter框架是一个PHP网站开发者实用的应用程序开发框架和工具包,开发人员可以通过这个框架对PHP代码进行编写和优化,该框架基于MVC设计,是许多企业尝试过众多PHP MVC框架之后的选择,最主要的原因自然就是为开发人员提供了足够的自由支持,允许开发人员更加快速的完成工作。
codeigniter官方版提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发,使用该框架还可以减少代码的编写量,让你并将你的精力投入到项目的创造性开发上。如果你想要更好的使用PHP进行网站开发,那么这个框架是非常不错的选择,特别是和性框架爱更是为这个程序特别编写,有着众多类库、辅助行数和子系统,需要PHP框架的用户一定要下载codeigniter哦。
codeigniter安装教程
第一步:下载下来codeigniter,是一个压缩包。
主要有这3个文件,application文件夹是应用文件夹,里面主要有MVC相关的M-模型文件夹,
V-视图文件夹,C-控制器文件夹,还有一些配置文件,后面会讲到。
system文件件,是系统文件夹,CI (CodeIgniter)的核心文件。
user_guide 即离线的用户帮助文档,便于查询。不过都是英文的哦,英文不好的童鞋还是去百度,下载一个中文的文档。我的学习主要靠帮助文档。帮助文档是好东西,一来是选择这个框架,就是因为他又详细的帮助文档帮助学习很方便。
第二步:也是比较关键的一步。把该文件夹放到网站的根目录下。很多网上资料,都只说根目录下,像我这样的新手,连根目录都不知道。
下面我就跟大家讲一下根目录下。我是安装的iis,那么根目录就指的是iis的安装目录。其他的web服务器,的根目录下也就是指web服务器的安装目录。如下图:打开iis,右键,浏览,打开的就是根目录;
第三步:关键的一步哦,注定成不成功哦。
将下载的文件拷到这个所谓的根目录下;我把这个文件夹的名字改成了php,主要是为了简便,因为还要配置访问地址。输地址方便。
第四步:最重要的,配置哦
打开application/config/config.php文件。注意.php文件可以用记事本,notpad++等多种编辑器打开,很方便,配置好保存即可。
主要配置这两个地方:标记1配置的是你要访问的网站网址。我配置的是http://localhost/php, localhost 指的是本地。也可以写成http://127.0.0.1/php。如果你有服务器,那就要写你服务器的域名咯。/php就是我刚才复制过来所下载的CodeIgniter 的文件夹,我把文件夹名字改成php就是为了访问方便,php 比CodeIgniter要简短。
标记2 index.php是下载就配置好的,没配置你就给他配置成index.php,表示你输入http://127.0.0.1/php,则自动打开index.php文件。
第四步,配置服务器,数据库,我用mysql
打开文件 application/config/database.php
配置你服务器的相关用户名,密码,数据库名等等。如下图:
这个图,不解释,大家懂得起,就是初学者,看英文都知道要填什么。
好啦,到这了,就结束了。
在浏览器中输入http://127.0.0.1/php 就可以看到index.php的欢迎界面啦。
codeigniter框架特色
1、小巧的框架
CodeIgniter 3 包括用户手册的安装包仅有 2MB 大小。
2、清晰与完善的文档
CodeIgniter 安装包中包含《用户手册》,手册囊括了入门介绍、教程、“手把手”指导,还包括了框架组件的参考文档。
3、广泛兼容各种主机环境
CodeIgniter 3 只需 PHP 5.3.7 版,几乎可以运行在任何虚拟主机或云平台上。对于需要数据库的 Web 应用来说,CodeIgniter 支持包括 MySQL 在内的大多数常见数据库。
4、没有严格的编码规则
只需遵守几个注意事项,你就可以使用自己的编码规范和命名约定。CodeIgniter 是来帮你的,而不是来添乱的。
5、不喜欢复杂,热爱简单
CodeIgniter 允许用户自由选择是否使用 MVC 架构。
6、出色的性能
CodeIgniter 的性能始终优于大多数同类框架。
7、没有大规模集成类库
CodeIgniter 不打算做成一个大而全的框架。在保持简洁的同时提供足够强大的功能来提高你的生产力,在此基础之上也有许多第三方扩展为你提供更多功能。
8、几乎 0 配置
CodeIgniter 奉行约定胜于配置的理念(例如把模型文件放到“models“文件夹中)。当你希望修改配置的时候,在“config“文件夹中有许多配置项供你修改。
8、无需学习模板语言
CodeIgniter 自带一个简单的、基于字符串替换的模板工具。如果你有更复杂的需求,可以以第三方扩展的形式引入其他模板引擎。
9、有更多的时间远离电脑做你喜欢做的事情
这难道不是我们所希望的吗?CodeIgniter 易学易用,轻而易举你就可以精通他。
codeigniter特性
1、基于 MVC 体系。
2、超轻量级。
3、对数种数据库平台的全特性支持的数据库类。
4、Active Record 支持5、 表单与数据验证。
6、安全性与 XSS 过滤。
7、Session 管理。
8、邮件发送类,支持附件,HTML 或文本邮件,多协议(sendmail, SMTP 和 Mail)及更多。
9、图像处理类库(剪裁,缩放,旋转等)。支持 GD,ImageMagick 和 BetPBM。
10、文件上传类。
11、FTP 类。
12、本地化。
13、分页。
14、数据加密。
15、基准测试。
16、全页面缓存
17、错误日志
18、应用程序评测
19、日历类
20、User-Agent 类
21、Zip 编码类
22、模板引擎类
23、Trackback 类
24、XML-RPC 类库
25、单元测试类
26、“搜索引擎友好”的 URL
27、灵活的 URI 路由
28、支持钩子和类扩展
29、大量的辅助函数
codeigniter框架设计架构
CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。
为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。
1、从技术和架构角度看,CodeIgniter 按照下列目标创建
动态实例化,在 CodeIgniter 中,组件的导入和函数的执行只有在被要求的时候才执行,而不是在全局范围。除了最小的核心资源外,不假设系统需要任何资源,因此缺省的系统非常轻量级。被 HTTP 请求所触发的事件,以及你设计的控制器和视图将决定它们什么时候被引用。 松耦合。耦合是指一个系统的组件之间的相关程度。越少的组件相互依赖那么这个系统的重用性和灵活性就越好。我们的目标是一个非常松耦合的系统。 组件专一性。专一是指组件有一个非常小的专注目标。在 CodeIgniter 里,为了达到最大的用途,每个类和它的功能都是高度自治的。 CodeIgniter 是一个动态实例化,高度组件专一性的松耦合系统。它在小巧的基础上力求做到简单、灵活和高性能。
2、codeigniter模式
CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。
模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。 视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。 控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。 CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和你现有的脚本合并使用,或者允许自行开发此系统的核心库,其目的是,使你可以以最适合你的方式工作。
codeigniter如何定义常量
首先,定义个配置文件,例如我要在我的media模块里面使用定义的常量,那么我在application/config/下面新建media.php配置文件
然后在里面写定义变量
[php]
/*
* 分类配置文件
*/
define(‘SOURCE_TYPE_FILM’, 0);//资源正片
define(‘SOURCE_TYPE_CLIP’, 1);//资源片花
$config[‘media’] = array();
[/php]
$config[‘media’]=array(); 注意这个变量是不能缺少的,因为整个程序需要检索$config这个数组
然后在调用变量的控制器,或者模型里面载入该配置文件
$this->config->load(‘media’);
最后就可以直接打印输出你定义的变量了。
更新日志
v4.5.4版本
1、修复Bug
修复:对[OCI8]Easy Connect字符串进行验证的问题
修复:使用RawSql的[QueryBuilder]select()可能会导致的TypeError
修复:在NULL后没有转义[QueryBuilder]select()
修复:允许字符串作为CURLRequest版本的参数
修复:spark phpini:检查可能导致的TypeError
修复:通过防止无效的会话处理程序
修复:为daisyUI编写的DebugBar CSS
docs:未定义引用者
修复:传递给$routes->group()的过滤器没有合并到传递给内部路由的过滤器中
2、重构
重构:在函数调用时调用的第一类
重构:启用AddClosureVoidReturnTypeWhereNoReturnRector在闭包时添加void返回
重构:启用AddFunctionVoidReturnTypeWhereNoReturnRector向函数添加void
重构:启用phpunit 10属性Rector规则
重构:修复Throttle::check()$标记