我使用与MySQL数据库连接的Slim框架(http://www.slimframework.com/)编写了一个小的RESTful PHP后端,现在我只有一个类进行所有数据库交互,它变得有点大。因此,现在是时候更清洁地组织它了。
基于我对MVC的理解,更好的方法是实现这样的模型层:
但这似乎花费了很多重构时间来做同样的事情。为什么我不想只使用从数据库加载的普通数组数据?当然,它并不是独立于数据库的,但我现在还没有真正计划从MySQL转移。
我是否以正确的方式接近这个?
答案 0 :(得分:0)
嗯,部分。
第一点描述了一个模型--MVC中的M.提取您的业务逻辑"从这个模型中有很多意义。一个用例可以是与REST API交互相同数据的网站。您可以重用该模型,只需要构建新的控制器。
"业务逻辑" /"层"可能是控制器 - MVC中的C.但是我不会给工厂对象提供数据库连接的所有权,因为一些用例可能想要使用多个工厂对象,但是应该使用相同的数据库连接......
我建议你阅读更多关于MVC方法的结构和专业知识的内容。
答案 1 :(得分:-1)
当你从头开始时,最好是:
最好的实践通常是拥有ORM,但它可能有点重(取决于您的架构和应用程序)。 在你的情况下,一个ORM似乎是太多了因为你开发了很多。 这取决于您的应用程序的未来:它会再次增长吗?很多开发者会在上面发展吗?
对于小/中等大小,您可以轻松地通过大主题重构您的课程,例如:1个课程,用于您拥有更多请求的3个最大实体。这将整理混乱并组织一些事情,然后你可以为eqch新实体迁移你的新类。对于旧版本,您可以逐步迁移
另一个好的做法是让getter和setter $this->getter_id();
$this->setter_id( $in_nId );
如果您需要更改某些数据库字段,这将对您有所帮助