章节1 欢迎使用Codelgniter4 CodeIgniter是一套给PHP网站开发者使用的应用程序开发框架和工具包。它的目标 是让你能够更快速的开发,它提供了日常任务中所需的大量类库,以及简单的接口和 逻辑结构。通过减少代码量,Codelgniter让你更加专注于你的创造性工作。 Codelgniter将尽可能的保持其灵活性,以允许你以喜欢的方式工作,而不是被迫以其 它方式工作。框架可以轻松扩展或替换核心部件,使系统按你期望的方式工作。简而言 之,CodeIgniter是一个可扩展的框架,它试图提供你所需的工具,同时让你避免踩坑。 1.1 Codelgniter是为谁准备的? CodeIgniter就是你所需要的,如果… ·你想要一个小巧的框架; ·你需要出色的性能; ·你想要一个几乎零配置的框架 ·你想要一个不需使用命令行的框架; ·你想要一个不想被编码规则的条条框框限制住的框架; ·你对PEAR这种庞然大物不感兴趣; ·你不想被迫学习一种新的模板语言(当然如果你喜欢,你可以选择一个模板解析 器) ·你不喜欢复杂,追求简单; ·你需要清晰、完整的文档。 1
章节 1 欢迎使用 CodeIgniter4 CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它的目标 是让你能够更快速的开发,它提供了日常任务中所需的大量类库,以及简单的接口和 逻辑结构。通过减少代码量,CodeIgniter 让你更加专注于你的创造性工作。 CodeIgniter 将尽可能的保持其灵活性,以允许你以喜欢的方式工作,而不是被迫以其 它方式工作。框架可以轻松扩展或替换核心部件,使系统按你期望的方式工作。简而言 之,CodeIgniter 是一个可扩展的框架,它试图提供你所需的工具,同时让你避免踩坑。 1.1 CodeIgniter 是为谁准备的? CodeIgniter 就是你所需要的,如果… • 你想要一个小巧的框架; • 你需要出色的性能; • 你想要一个几乎零配置的框架; • 你想要一个不需使用命令行的框架; • 你想要一个不想被编码规则的条条框框限制住的框架; • 你对 PEAR 这种庞然大物不感兴趣; • 你不想被迫学习一种新的模板语言(当然如果你喜欢,你可以选择一个模板解析 器); • 你不喜欢复杂,追求简单; • 你需要清晰、完整的文档。 1
Codelgniter4中文手册,版本4.0.0 1.1.1服务器安装要求 需要7.2或更新版本的PHP同时需要安装*intl*扩展。 在服务器同时需要启用以下PHP扩展:php-json,php-mbstring,php-mysqlnd, php-xml 为了能够使用CURLRequest,你需要安装libcurl。 对于大多数wb应用程序来说,一个数据库是不可或缺的。以下是我们支持的数据库: ·MySQL(5.1+)通过MySQLi驱动使用 ·PostgreSQL通过Postgre驱动使用 ·SQLite3通过SQLite3驱动使用 CodeIgniter4并没有转换或重写所有的驱动,下列显示了几个很棒的数据库与它们对应 的驱动 ·MySQL(5.1+)通过pdo驱动 ·Oracle通过oci8和pdo驱动使用 ·PostgreSQL通过pdo driver ·MS SQL通过mssql,sqlsrv(2005版本及以上使用)和pdo驱动使用 ·SQLite通过sqlite(version2)和pdo驱动使用 ·CUBRID通过cubrid和pdo驱动使用 ·Interbase/Firebird通过ibase and pdo驱动使用 ·ODBC通过odbc和pdo驱动使用(你应该知道ODBC实际上只是一个抽象层) 1.1.2发展历程与贡献者 CodeIgniter原本是由EllisLab所开发的。本框架的开发目的是为了提升在现实使用过 程中的性能,同时实现了许多原创的类库,辅助函数和子系统(借鉴了ExpressionEngin© 的代码结构)。在过去的几年中,是由EllisLab,ExpressionEngine开发团队以及被称 为the Reactor Team的社区成员所开发并维护的。 而在20l4年,CodeIgniter转由British Columbia Institute of Technology进行维护,并 正式宣布其将作为一个社区维护的项目。 本框架的前沿开发过程中,CodeIgniter委员会中的优秀贡献者们体现了先锋的精神 (译者注:实际大部分的功能与测试都是由几位开源贡献者鼎力实现的)。 1.1.3PSR规范 PHP-FIG创建于20O9年,旨在帮助各个框架之间更自由的协作标准,遵循统一的编 码和风格规范。CodeIgniter虽然并非FIG的成员之一,但我们的宗旨是一致的。这份 文档主要是用来列出现有我们所遵循已被提案通过和一些草案的情况。 章节1.欢迎使用Codelgniter4
CodeIgniter4 中文手册, 版本 4.0.0 1.1.1 服务器安装要求 需要 7.2 或更新版本的 PHP 同时需要安装 *intl* 扩展 。 在服务器同时需要启用以下 PHP 扩展: php-json, php-mbstring, php-mysqlnd, php-xml 为了能够使用CURLRequest ,你需要安装 libcurl 。 对于大多数 web 应用程序来说,一个数据库是不可或缺的。以下是我们支持的数据库: • MySQL (5.1+) 通过 MySQLi 驱动使用 • PostgreSQL 通过 Postgre 驱动使用 • SQLite3 通过 SQLite3 驱动使用 CodeIgniter4 并没有转换或重写所有的驱动,下列显示了几个很棒的数据库与它们对应 的驱动 • MySQL (5.1+) 通过 pdo 驱动 • Oracle 通过 oci8 和 pdo 驱动使用 • PostgreSQL 通过 pdo driver • MS SQL 通过 mssql, sqlsrv (2005 版本及以上使用) 和 pdo 驱动使用 • SQLite 通过 sqlite (version 2) 和 pdo 驱动使用 • CUBRID 通过 cubrid 和 pdo 驱动使用 • Interbase/Firebird 通过 ibase and pdo 驱动使用 • ODBC 通过 odbc 和 pdo 驱动使用(你应该知道 ODBC 实际上只是一个抽象层) 1.1.2 发展历程与贡献者 CodeIgniter 原本是由 EllisLab 所开发的。本框架的开发目的是为了提升在现实使用过 程中的性能,同时实现了许多原创的类库,辅助函数和子系统(借鉴了 ExpressionEngine 的代码结构)。在过去的几年中,是由 EllisLab,ExpressionEngine 开发团队以及被称 为 the Reactor Team 的社区成员所开发并维护的。 而在 2014 年,CodeIgniter 转由 British Columbia Institute of Technology 进行维护,并 正式宣布其将作为一个社区维护的项目。 本框架的前沿开发过程中,CodeIgniter 委员会中的优秀贡献者们体现了先锋的精神 (译者注:实际大部分的功能与测试都是由几位开源贡献者鼎力实现的)。 1.1.3 PSR 规范 PHP-FIG 创建于 2009 年,旨在帮助各个框架之间更自由的协作标准,遵循统一的编 码和风格规范。CodeIgniter 虽然并非 FIG 的成员之一,但我们的宗旨是一致的。这份 文档主要是用来列出现有我们所遵循已被提案通过和一些草案的情况。 2 章节 1. 欢迎使用 CodeIgniter4
Codelgniter4中文手册,版本4.0.0 PSR-1:基础编码规范 这份规范覆盖了基本类,方法和文件的命名标准。我们的开发规范符合PSR-1,并且 在它的基础上添加了自己的标准。 PSR-2:编码风格规范 这份PSR的争议性是比较大的,在它第一次出现的时候。CodeIgniter在其中遇到了许 多建议,但不会完全符合这些规范。 PSR-3:日志接口规范 CodeIgniter的Logger实现了该PSR提供的所有接口。 PSR-4:自动加载规范 这份P$R提供了组织文件和命名空间以允许自动加载类的标准方法的方法。我们的自 动加载类符合PSR-4规范。 PSR-6:缓存接口规范 CodeIgniter不会尝试符合这份PSR,因为我们相信它超越了它的需求。我们会考虑新 提出的SimpleCache接口。 PSR-7:HTTP消息接口规范 这份PSR标准化了表示HTTP交互的方式。虽然许多概念成为我们的HTTP层的一 部分,但CodeIgniter并不力求与此规范兼容。 如果你发现任何我们声称实现PSR但未能正确执行的地方,请通知我们,我们会将其 修正,或提交需要更改的拉动请求。 1.1.Codelgniter是为谁准备的? 3
CodeIgniter4 中文手册, 版本 4.0.0 PSR-1: 基础编码规范 这份规范覆盖了基本类,方法和文件的命名标准。我们的 开发规范符合 PSR-1,并且 在它的基础上添加了自己的标准。 PSR-2: 编码风格规范 这份 PSR 的争议性是比较大的,在它第一次出现的时候。CodeIgniter 在其中遇到了许 多建议,但不会完全符合这些规范。 PSR-3: 日志接口规范 CodeIgniter 的Logger 实现了该 PSR 提供的所有接口。 PSR-4: 自动加载规范 这份 PSR 提供了组织文件和命名空间以允许自动加载类的标准方法的方法。我们的自 动加载类 符合 PSR-4 规范。 PSR-6: 缓存接口规范 CodeIgniter 不会尝试符合这份 PSR ,因为我们相信它超越了它的需求。我们会考虑新 提出的 SimpleCache 接口 。 PSR-7: HTTP 消息接口规范 这份 PSR 标准化了表示 HTTP 交互的方式。虽然许多概念成为我们的 HTTP 层的一 部分,但 CodeIgniter 并不力求与此规范兼容。 — 如果你发现任何我们声称实现 PSR 但未能正确执行的地方,请通知我们,我们会将其 修正,或提交需要更改的拉动请求。 1.1. CodeIgniter 是为谁准备的? 3
章节2 开始 2.1安装 CodeIgniter4可以通过多种不同的方式安装:手动,使用Composer或使用Git。你喜 欢哪个? ·如果你希望像CodeIgniter3那样简单的“下载并使用”,那么你应该选择手动安 装。 ·如果你打算在项目中添加其他软件包,我们建议你使用Composer方式安装。 ·如果你想为框架添砖加瓦,那么你应该选择Gt方式安装。 2.1.1手动安装 CodeIgniter4框架目录保存了所有已发布的框架版本。这是为那些不想用Composer 的开发者准备的。 在app文件夹里开发你的项目,而public文件夹就将成为你的对外根目录。与此同 时,请勿更改system文件夹下面的任何内容! Note:这是和CodeIgniter3描述的安装方式最相近的。 安装 下载最新版本,并将其解压到你的项目根目录。 5
章节 2 开始 2.1 安装 CodeIgniter4 可以通过多种不同的方式安装:手动,使用 Composer 或使用 Git。你喜 欢哪个? • 如果你希望像 CodeIgniter3 那样简单的“下载并使用”,那么你应该选择手动安 装。 • 如果你打算在项目中添加其他软件包,我们建议你使用 Composer 方式安装。 • 如果你想为框架添砖加瓦,那么你应该选择 Git 方式安装。 2.1.1 手动安装 CodeIgniter 4 框架 目录保存了所有已发布的框架版本。这是为那些不想用 Composer 的开发者准备的。 在 app 文件夹里开发你的项目,而 public 文件夹就将成为你的对外根目录。与此同 时,请勿更改 system 文件夹下面的任何内容! Note: 这是和 CodeIgniter 3 描述的安装方式最相近的。 安装 下载 最新版本, 并将其解压到你的项目根目录。 5
Codelgniter4中文手册,版本4.0.0 设置 无 升级 下载一份最新的框架,并根据发布通知或更新日志里的升级教程来将最新版本的内容 合并进你的项目。 通常来说,替换掉system目录,并且检查app/Config文件夹下受影响的变更内容即 可。 优点 下载就可以运行 缺点 当更新时,你要自己合并冲突 结构 在你的项目设置完成后,新建以下文件夹:app,public,system,writable 安装翻译 如果你想充分利用系统信息的翻译,可以类似地把这些翻译加入到项目中。 下载最新版本的翻译解压下载的zip文件并将Language文件夹的内容复制到你的 PR.OJECT_RO0T/app/Languages文件夹下。 在进行任何翻译的升级时都需要重复以上步骤。 2.1.2通过Composer安装 ·启动应用 将CodeIgniter4添加到现存项目中 安装翻译 6 章节2.开始
CodeIgniter4 中文手册, 版本 4.0.0 设置 无 升级 下载一份最新的框架,并根据发布通知或更新日志里的升级教程来将最新版本的内容 合并进你的项目。 通常来说,替换掉 system 目录,并且检查 app/Config 文件夹下受影响的变更内容即 可。 优点 下载就可以运行 缺点 当更新时,你要自己合并冲突 结构 在你的项目设置完成后,新建以下文件夹: app, public, system, writable 安装翻译 如果你想充分利用系统信息的翻译,可以类似地把这些翻译加入到项目中。 下载 最新版本的翻译 解压下载的 zip 文件并将 Language 文件夹的内容复制到你的 PROJECT_ROOT/app/Languages 文件夹下。 在进行任何翻译的升级时都需要重复以上步骤。 2.1.2 通过 Composer 安装 • 启动应用 • 将 CodeIgniter4 添加到现存项目中 • 安装翻译 6 章节 2. 开始