我最近发现了优秀的 PHP 的redbean ORM 库,这使得在我的 Web 应用程序中执行 CRUD 操作变得微不足道,但我最近实现了一些我开始质疑的附加功能。为了使保存数据更加容易,我创建了一个名为 redbean.php 的程序化表单处理脚本。每当将此脚本指定为表单操作时,它将根据提交给它的数据动态创建一个新 bean:
<?php Template::startContent(); ?>
<form action="forms/redbean.php" method="POST">
<input type="hidden" name="bean" value="book"/>
<input type="text" name="author"/>
<input type="text" name="pubDate"/>
<input type="submit" value="Save Bean!"/>
</form>
<?php Template::endContent(); ?>
我开始质疑这种方法的原因是因为我的框架中的所有其他内容都使用 MVC 模式,但这感觉像是在作弊,因为数据直接从视图传递到 ORM 库。无论如何,我正在尝试使用 PHP 和 Web 编程的最佳实践来实现这个应用程序,所以我的问题是这种方法是否代表我不知道的反模式,或者我是否还有其他什么应该考虑这个实现。