rosasurfer/ministruts

受 Java Struts 启发的 MVC 微型框架

0.11 2024-09-15 18:50 UTC

README

Build Status Scrutinizer Code Quality

MiniStruts

MVC 微型框架,用于 PHP

M - 模型组件的基础是 ORM。ORM 实现为“数据映射器”,遵循“数据库优先”方法。这种方法主要用于处理现有数据库。实现不需要代码生成或代理类(无需编写未编写代码的惊喜)。只要表有主键,任何标准和非标准的数据库模型都可以连接并手动定制。配置使用纯 PHP(无需注解或属性)。ORM(特别是灵活的配置)受到了 Hibernate 的启发。

V - 视图组件通过一个布局引擎实现,该布局引擎受到了 Java Struts 的 Tiles 插件 启发。可以使用可重复使用的布局和 HTML 片段(即 tiles)来组合页面。两者都可以根据需要配置和扩展。模板语言是纯 PHP(无需预编译 HTML)。

C - 控制器部分涵盖了应用框架、配置、服务容器、访问控制、缓存、错误处理和日志记录。该框架的 Web 堆栈受到了 Java Struts 1 的启发。1.0 版本已被其后续版本取代,实际上已经不再使用。但在 2022 年,由于其简单性和稳定性,以及需要更新到当前 Web 标准,开发者决定使其复活。 长青的 Struts...

该项目包含一个值得注意的特殊功能,即命令行界面:一个用于 DocOpt 标准的语法解析器,这在 Linux/Python 世界中非常知名,但在 PHP 界中却鲜为人知。DocOpt 标准使用工具自身的语法描述来定义调用选项。在运行时,语法描述被解析并与当前调用进行匹配/验证。结果,即使是更复杂的工具也能得到美丽的语法定义(不再有难看的 Symfony 错误信息)。示例在此 ,您可以在 此处 在线尝试解析器。

MiniStruts 参考:struts-config.dtd

ORM 映射参考:README.md