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