使用 PHP MVC 制作模型工厂


Making a model factory with a PHP MVC

我基于一些可靠的教程编写了一个不错的MVC框架,并大量借鉴了Cake。它符合我们的需求,因为我们已经有一个正在构建的现有应用程序。

的情况如下:我有一个模型来描述团队。这个团队有属性,方法,等等等等。在我的控制器中,我可以通过以下方式轻松创建一个团队:

$team = new Team('Hornets')

效果很好。但是,假设我想有一种返回给定国家/地区所有团队的方法?在使用MVC之前,我只会创建一个工厂类并执行以下操作:

$teams = Array();
$teams = TeamFactory::getTeams('Canada')

这将返回一系列团队。我想我仍然可以这样做,但我的基本问题是我将把这些工厂类保存在我的文件夹结构中的什么地方?

我在根目录中有一个名为"lib"的文件夹,我在其中保存定期使用的各种类。我唯一担心的是,文件夹会变成一大堆"Team.Factory.php","Player.Factory.php",与所有其他东西混合在一起。我自己的直觉是也许在"lib"中创建一个名为"factory"的子文件夹,然后继续前进。

这是"非MVC"吗?阿米特?

MVC不介意目录结构。我会将 TeamFactory 类与 Team 类保留在同一个目录中,或者可以在其中创建一个子目录并将其放置在那里。这就是我的意思:

model/Team.php
model/TeamFactory.php

model/Team.php
model/factories/TeamFactory.php