首 页
手机版

codeigniter框架

功能强大的PHP框架

  • 软件大小:1.48M
  • 软件语言:简体中文
  • 软件类型:国产软件
  • 软件授权:免费软件
  • 更新时间:2026-07-08 21:14
  • 软件类别:编程开发
  • 软件厂商:
网友评分: 6.4分
网友评论(0) 下载地址 收藏该页
本地下载

codeigniter是一套轻量、快速、灵活且安全的PHP全栈Web框架,可以为PHP开发人员提供功能完善的Web应用程序,它的目标是能够让你比从零开始更加快速的完成项目,提供了一套丰富的的类库来满足我们日常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。同时通过减少代码量,codeigniter让你更加专注于你的创造性工作,框架还将尽可能的保持其灵活性,以允许你以喜欢的方式工作,而不是被迫以其它方式工作。另外框架可以轻松扩展或替换核心部件,使系统按你期望的方式工作。ps:目前codeigniter4是框架的最新版本,专为PHP 7.4及以上(包括 8.2)版本打造,而CodeIgniter 3专为PHP 5.6及以上打造,最新稳定版本为 3.1.13。

codeigniter框架

为什么选择codeigniter框架?

1、小巧的框架

CodeIgniter 4 大小是 1.1MB,加上用户手册(epub)也只有 1.6MB。

2、出色的性能

CodeIgniter 的性能始终优于大多数同类框架。

3、不喜欢复杂,热爱简单

CodeIgniter 允许用户自由选择是否使用 MVC 架构。

4、强大的安全性

我们非常重视安全问题,内置针对 CSRF 和 XSS 攻击的保护。 CodeIgniter 4 增加了内容转义和 CSP

5、清晰与完善的文档

用户手册囊括了入门介绍、教程、“手把手”指导,还包括了框架组件的参考文档。

6、几乎 0 配置

基本设置都已经配置好了,仅需要配置你的数据库!

支持特性

基于MVC体系

超轻量级

对数种数据库平台的全特性支持

支持查询构造器

表单与数据验证

安全性与XSS过滤

会话管理

发送邮件类,支持附件、HTML或文本邮件、多协议(sendmail、SMTP、Mail)及更多

图像处理库(裁剪、缩放、旋转等),支持GD、ImageMagick和NetPBM

文件上传类

FTP类

本地化

分页

数据加密

基准测试

全页面缓存

错误日志

应用程序评测

日历类

User-Agent类

Zip编码类

模板引擎类

Trackback类

XML-RPC类

单元测试类

搜索引擎友好的URL

灵活的URL路由

支持钩子和类扩展

大量的辅助函数

codeigniter4服务器需求

一、PHP及所需扩展

需要PHP 8.1或更高版本,并启用以下 PHP 扩展:

intl

mbstring

json

二、可选的 PHP 扩展

1、你的服务器上应启用以下 PHP 扩展:

mysqlnd (如果你使用 MySQL)

curl (如果你使用 CURLRequest)

imagick (如果你使用 Image 类的 ImageMagickHandler)

gd (如果你使用 Image 类的 GDHandler)

simplexml (如果你格式化 XML)

2、当你使用缓存服务器时,需要启用以下 PHP 扩展

memcache (如果你使用 Memcache 和 Cache 类的 MemcachedHandler)

memcached (如果你使用 Memcached 和 Cache 类的 MemcachedHandler)

redis (如果你使用 Cache 类的 RedisHandler)

3、当你使用 PHPUnit 时,需要启用以下 PHP 扩展:

dom (如果你使用 TestResponse 类)

libxml (如果你使用 TestResponse 类)

xdebug (如果你使用 CIUnitTestCase::assertHeaderEmitted())

三、支持的数据库

大多数 Web 应用程序开发都需要数据库。 目前支持的数据库有:

MySQL,通过 MySQLi 驱动程序(仅版本 5.1 及以上)

PostgreSQL,通过 Postgre 驱动程序(仅版本 7.4 及以上)

SQLite3,通过 SQLite3 驱动程序

Microsoft SQL Server,通过 SQLSRV 驱动程序(仅版本 2012 及以上)

Oracle 数据库,通过 OCI8 驱动程序(仅版本 12.1 及以上)

安装说明

通过以下方法来安装CodeIgniter:

解压缩安装包;

将 CodeIgniter 文件夹及里面的文件上传到服务器,通常 index.php 文件将位于网站的根目录;

使用文本编辑器打开 application/config/config.php 文件设置你网站的根 URL,如果你想使用加密或会话,在这里设置上你的加密密钥;

如果你打算使用数据库,打开 application/config/database.php 文件设置数据库参数。

如果你想通过隐藏 CodeIgniter 的文件位置来增加安全性,你可以将 system 和 application 目录修改为其他的名字,然后打开主目录下的 index.php 文件将 $system_path 和 $application_folder 两个变量设置为你修改的名字。

为了达到更好的安全性,system 和 application 目录都应该放置在 Web 根目录之外,这样它们就不能通过浏览器直接访问。CodeIgniter 默认在每个目录下都包含了一个 .htaccess 文件,用于阻止直接访问,但是最好还是将它们移出能公开访问的地方,防止出现 Web 服务器配置更改或者 .htaccess 文件不被支持这些情况。

如果你想让 views 目录保持公开,也可以将你的 views 目录移出 application 目录。

移动完目录之后,打开 index.php 文件,分别设置好 $system_path 、 $application_folder 和 $view_folder 三个变量的值,最好设置成绝对路径,例如:“/www/MyUser/system”。

在生产环境还要额外再多一步,就是禁用 PHP 错误报告以及所有其他仅在开发环境使用的功能。在 CodeIgniter 中,可以通过设置 ENVIRONMENT 常量来做到这一点,这在 安全 这篇指南中有着更详细的介绍。以上就是全部安装过程!

应用程序流程图

1、index.php文件作为前端控制器,初始化运行CodeIgniter所需的基本资源;

2、Router检查HTTP请求,以确定如何处理该请求;

3、如果存在缓存文件,将直接输出到浏览器,不用走下面正常的系统流程;

4、在加载应用程序控制器之前,对HTTP请求以及任何用户提交的数据进行安全检查;

5、控制器加载模型、核心类库、辅助函数以及其他所有处理请求所需的资源;

6、最后一步,渲染视图并发送至浏览器,如果开启了缓存,视图被会先缓存起来用于后续的请求。

更新日志

v4.7.4版本

安全性

IncomingRequest:通过客户端提供的头部检测HTTPS问题已修复。 现在只在请求来自可信代理时信任 和 头部 配置于 。 请参见_ 更多信息请见。IncomingRequest::isSecure()X-Forwarded-ProtoFront-End-HttpsConfig\App::$proxyIPsSecurity advisory GHSA-7wmf-pw8j-mc78

查询构建器:已修复 SQL 注入漏洞。 当 与条件一起使用时, WHERE 子句中的绑定值被替换到生成的 SQL 中 他们的逃脱旗帜被忽视,因此他们从未被逃脱或引用。该 WHERE束缚现在可以像普通绑定一样逃脱。deleteBatch()deleteBatch()where()delete()

请参见_ 更多信息请见。Security advisory GHSA-c9w5-rwh3-7pm9

UploadedFile: 现在会净化客户端提供的 当没有第二个参数调用时,文件名。之前,未经消毒的 客户端文件名作为默认,允许路径遍历序列 (例如 )将上传的文件写入 预期目录。明确传递为第二个参数的名称则不是 经过消毒,仍由来电者负责。 请参见_ 更多信息请见。UploadedFile::move()../../public/shell.phpSecurity advisory GHSA-hhmc-q9hp-r662

验证:文件上传验证规则 现在还要核实客户端文件名的非空。之前,这些规则 仅根据其内容衍生的MIME类型来分类上传,因此一个具有 危险的客户端扩展名(例如,带有图片的前缀文件 magic bytes)可以在保持原始扩展为 的前提下通过验证 磁盘。 请参见_ 更多信息请见。is_imagemime_in.phpSecurity advisory GHSA-mmj4-63m4-r6h5

该规则现在在客户端文件名非空时拒绝上传 扩展不是图像扩展。该规则现在拒绝上传 当客户端非空文件扩展名与检测到的文件不匹配时 内容,与与 所用的扩展/内容协议相匹配。 上传的文件没有任何扩展名(例如JavaScript上传) 仍然被接受,因为规则验证了文件内容。is_imagemime_inext_inBlob

修复的漏洞

修复方法:通过@michalsn在#10236中阻止带有已有条件的更新批处理

修复:通过 #10251 中的 @memleakd 检测 Safari 版本

修复:#10281中@michalsn层嵌套变压器请求示波器泄漏

fix(model):通过 #10258 中的 @gr8man 传递$recursive参数到对象 ToRawArray 的父节点

修复方法:在#10307中@paulbalandan使用时保持包围式流滤波器MockInputOutput

修复:跳过 #10308 中已翻译的密钥,@paulbalandanspark lang:find

修正(过滤器):通过 #10303 中的 @gr8man 检查数组中的键和值InvalidChars

修复:在 #10295 中@gr8man 使用 RedisHandler 中的动态 lockMaxRetries 限制

修正:在从模型(即)生成实体时,保留子命名空间,@xgrind 在 #10232--return entity

修正:非字符串值的TypeError + #10305中@gr8man修正env()$_SERVEResc()

修复:由 #10316 中的 @ThomasMeschke 统一 BaseService::injectMock 中的套管

修复:通过 #10321 中的 @gr8man 规范化 SodiumHandler 参数和填充失效

修复(验证):通过在 #10328 中@gr8man,纠正required_without逻辑并防止数组密钥警告

修复:由 @Will-thom 在 #10233 中检查 phpini 中的空 ini 值

修复:在 #10367 中由 @gr8man 在 XML 导出中保持零值

修复:支持#10362中及@michalsn的数组索引getPostGet()getGetPost()

重构

重构:在#10326中@michalsn的窄原始维度类型Imageint

重构(HTTP):通过 #10330 中的@gr8man优化文件路径解析download()

refactor(database):通过在 #10340 中@gr8man baseBuilder 循环缓存 groupGetType,优化

重构:@paulbalandan在#10312中提升至phpstan-codeigniter v2.1

重构:用 #10345 中的 @paulbalandan 用更具体的类型替换类型mixed

重构:通过哈希查找和 @gr8man 在 #10344 中进行整数长度跟踪优化prepQuotedPrintable()

重构:在 #10354 中添加 @paulbalandan 的精确 phpdocsarrayCLI

重构(数据库):通过@gr8man #10351 优化字符串分配和循环不变量_processForeignKeys() 收起介绍展开介绍

  • 下载地址
codeigniter框架
  • 其他版本
    {playpage:qitabanben_html}



发表评论

0人参与,3条评论