我可以使用mvc将所有类放在一个文件中吗?

时间:2013-05-15 17:06:39

标签: php model-view-controller

我正在尝试学习MVC,我有一个非常基本的问题。当我创建类和对象时,我可以像使用JavaScript一样将所有这些放在一个文件中吗?或者我是否需要为每个类和构造函数创建一个单独的文件? 我在这里看了很多例子,但对我来说似乎没什么。

3 个答案:

答案 0 :(得分:5)

您不需要 为每个类使用单独的文件,但这样做是很好的做法。使用许多较小的文件而不是几个非常大的文件更容易。它还可以让任何其他需要在项目上工作的开发人员更轻松。

答案 1 :(得分:2)

通常,MVC模式遵循为OOP整体设置的基本规则:一个类=一个文件。

此规则可能有例外情况,具体取决于您可能使用的框架或CMS,但在文件中放置多个(不相关的)类会使项目复杂化。

将几个相关的类合并到一个文件中可能没问题,但我仍然建议不要这样做。

答案 2 :(得分:-1)

使用尚未提及的单独文件的一个好处是,您可以使用__autoload()函数仅根据需要加载类,并减少加载应用程序所需的开销。

为什么要加载整个单片文件或文件目录,如果一个特定的执行需要少数几个类定义?

这是我在全局包含文件中使用的内容:

define('__SITE_PATH', '/path/to/app');
/* auto load model classes */
function __autoload($class_name) {
    $filename = 'class.' . strtolower($class_name) . '.php';
    $file = __SITE_PATH . '/_model/' . $filename;
    if( file_exists($file) == false ) {
        return false;
    }
    require($file);
}