sylynder / engine
Requires
- php: ^8.1
README
Webby 框架核心扩展功能的引擎文件夹,为 CodeIgniter 3 框架启用
文件夹结构
vendor/
└── sylynder/
└── engine/
└── CodeIgniter/
└── Framework/
├── core/
├── database/
├── fonts/
├── helpers/
├── language/
└── libraries/
└── Core/
├── config/
├── controllers/
├── core/
├── helpers/
├── hooks/
├── language/
├── libraries/
├── logs/
└── models/
└── MX/
关于 Webby
Webby 致力于成为一个“乐高式”PHP 框架,允许您以模块化架构构建 API、控制台/Cli 和 Web 应用程序,可以轻松地整合现有 PHP 框架或其他 PHP 软件包中的功能。
它是 CodeIgniter 3 框架的扩展,便于进行 Web 应用程序开发,为初学者提供易于开发的体验(DX)。
使用“简单(美味)应用架构”构建出色的 PHP 应用程序。
特性
- 简单且改进的路由
- HMVC 首选架构
- 应用程序可以是 API、控制台或基于 Web
- 易于与其他框架集成
- 使用软件包扩展
- 使用“Plates”模板引擎为您的视图提供支持
- 使用“服务”将业务逻辑与控制器分离
- 使用“操作”代替“服务”进行 CRUD 功能或业务逻辑
- 使用“表单或规则”验证输入请求
- 几乎包含“服务发现”功能
- 使用任何数据库抽象或库作为模型
作者
安装
推荐通过 Composer 安装 Webby。您是 Composer 新手吗? 点击链接。
这将安装最新支持的 PHP 版本
$ composer create-project sylynder/webby <project-name>
请确保将 project-name 替换为您的项目名称
文档
Webby 的主要文档可以在以下位置找到: Webby 文档
文档目前正在不断更新。覆盖框架所有方面需要时间,但我们正昼夜不停地工作以实现这一目标。
目前,我们计划使用博客部分引导开发者学习框架。
如果您已经使用 CodeIgniter 3 进行开发并且熟悉 HMVC 方法,您仍然可以使用相同的知识开始。
对于非常熟悉 CodeIgniter 3 框架的开发者,可以参考以下文档: CI3 文档
CodeIgniter 4 的概念尚未明确,重写 CodeIgniter 3 使框架在许多方面停滞不前,这是一种展示 CodeIgniter 可以逐步改进而不是采用核心团队方法的途径。
服务器要求
推荐使用 PHP 8.0 或更高版本。
PHP 8.1 于 2021 年 11 月发布,因此大多数功能尚未被确定为受支持,这延迟了本项目与最新版本 8.1 的 PHP 和框架完美协同工作,我们建议保持 7.4 和 8.0 之间的版本,以确保 PHP 应用程序的稳定开发。
如果您想发现错误并做出贡献,欢迎使用 PHP 8.1 版本。
目前它支持 8.1 但尚未出现任何问题。所有问题都可以讨论,并将得到解决。PHP 8.2 自 2022 年 12 月以来已经发布。我们将期待相关问题的解决。目前一些问题已经得到解决。
快速问答
为什么决定创建 Webby
- Webby 是考虑到 PHP 初学者而创建的,旨在简化构建 Web 应用程序(使用 PHP)的方式,无需复杂的概念和功能。
- 观察其他(PHP)框架使初学者难以入门,我们采取了不同的方法。
- 此外,CodeIgniter 3 有一段时间没有更新,直到更新到最新版本(3.1.13)之前,新的 PHP 版本都无法正常工作。
- 我利用这个机会学习和了解更多关于软件架构和创建软件范式的知识。
它与 CodeIgniter 3 或 4 有什么不同吗?
它使用 CodeIgniter 3 框架的核心,并借鉴了一些从 CodeIgniter 4 中添加的新功能。它旨在让熟悉 CI3 的开发者能够轻松适应 CI4,只需稍作类似的语法或概念调整。
重要链接
以下链接将引导您了解 Webby 的工作原理。
接下来是什么
Webby 还有许多未来的计划。
- 启用并测试 PHP 8.1 兼容性
- 改进并简化 CI3 的数据库迁移
- 启用基于模块的包使用 composer 包
- 启用简单引擎文件夹升级(目前当有更新可用时,文件夹需要替换)(已完成于 2022 年 10 月 30 日下午 6:22)
- 将 sylynder/codeigniter 仓库移至 sylynder/engine 仓库(已完成于 2022 年 12 月 31 日下午 3:08)
- 创建一个兼容 HTTP 和路由的功能(可能是 PSR-7 兼容),以便与其他框架的一般集成
- 改进并优化速度
- 改进 CLI 或控制台功能
- 集成异步功能(可能是 fibers)[作为一个包]
- 还有更多要添加(还有更多要学习)
- 编写第二版(v2),不进行主要的类 API 变更,以减少未来的升级问题。与其他主要 PHP 框架不同
鸣谢
- Rougin (https://github.com/rougin/spark-plug)
- Yidas (https://github.com/yidas/codeigniter-rest)
- Chriskacerguis (https://github.com/chriskacerguis/codeigniter-restserver)
- Nobitadore (https://github.com/nobitadore/Arrayz)
- Lonnieezell (https://github.com/lonnieezell/Bonfire)
- GustMartins (https://github.com/GustMartins/Slice-Library)
- CodeIgniter 3 (https://github.com/bcit-ci/CodeIgniter)
- CodeIgniter 4 (https://github.com/codeigniter4/CodeIgniter4)
- 所有贡献者
许可证
我们使用 MIT 许可证(MIT)。请参阅我们的 LICENSE.md 文件。如需了解有关许可证的更多信息,请访问 LICENSE。