sylynder / webby
Webby:基于CodeIgniter3框架扩展的类似乐高块的PHP框架,用于轻松开发Web应用程序
Requires
- php: ^8.1
- sylynder/engine: ^2.9
Requires (Dev)
- symfony/var-dumper: ^5.2
This package is auto-updated.
Last update: 2024-09-03 20:03:17 UTC
README
关于Webby
Webby旨在成为一个“类似乐高”的PHP框架,允许您以模块化架构构建API、控制台/Cli和Web应用程序,并可以轻松集成现有PHP框架或其他PHP包的功能。
它是CodeIgniter 3框架的扩展,用于轻松开发Web应用程序,并为初学者提供简单(愉快)的开发体验(DX)。
使用“简单(甜美)”的应用程序架构构建出色的PHP应用程序。
特性
- 简单且改进的路由
- HMVC第一架构
- 应用程序可以是API、控制台或基于Web的
- 易于与其他框架集成
- 使用包扩展
- 使用“Plates”(类似blade)模板引擎为您的视图
- 使用“服务”将业务逻辑与控制器分离
- 使用“操作”代替“服务”进行CRUD功能或业务逻辑
- 使用“表单或规则”验证输入请求
- 包含近似“服务发现”功能
- 使用您想要的任何数据库抽象或库作为模型
作者
安装
推荐通过Composer安装Webby。您是Composer的新手吗?点击链接。
这将安装最新支持的PHP版本
$ composer create-project sylynder/webby <project-name>
请确保用您的项目名称替换project-name
文档
Webby的主要文档可以在这里找到:Webby Docs
文档目前正在不断更新。需要时间来涵盖框架的所有方面,但我们正在夜以继日地工作以实现这一目标。
目前,我们计划使用博客部分来引导开发者了解框架。
如果您已经使用CodeIgniter 3进行开发,并且熟悉HMVC方法,您仍然可以使用同样的知识开始。
对于非常熟悉CodeIgniter 3框架的开发者,仍可参考以下文档:CI3 Docs
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月以来已发布。我们也将期待并解决相关的问题。目前,一些问题已经被修复。
常见问题解答(FAQ)
为什么决定创建Webby?
- Webby是为了PHP初学者而创建的,旨在简化使用PHP(无复杂概念和功能)构建Web应用程序的方式。
- 看到其他(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日18:22完成)
- 将sylynder/codeigniter仓库移动到sylynder/engine仓库(已于2022年12月31日15:08完成)
- 创建一个兼容HTTP和路由功能的特性(可能为PSR-7兼容),以便与其他框架进行一般集成
- 改进和优化速度
- 改进命令行或控制台功能
- 集成异步功能(可能为fibers)[作为包]
- 还有更多要添加(还有更多要学习)
- 编写第三个版本(v3),对一些主要的类API进行更改,但尽量不进行重大破坏性更改,以减少未来的升级痛苦。与其他主要的PHP框架不同
已使用
以下公司使用此项目
- Seguah Dreams
- Glomot公司
- Wigal Vision
致谢
- 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。