1

我创建了自己的 mvc 模型,所以我必须包含我所有的模型和控制器类。

每次我需要在控制器中使用模型时,我都会使用:

require_once('myModel.php');

有点像java中的import

但是我有一个问题,以这种方式继续下去是一个好的解决方案吗?我宁愿在代码的开头包含我所有的模型和控制器,但我担心这个解决方案太重了。

谢谢

4

2 回答 2

3

一般来说,我不建议您创建自己的框架,但如果您坚持或想要出于学习目的这样做,PHP 社区创建了 FIG(框架互操作组)以保持框架之间的一致性,以及应该如何处理事情。

您要解决的问题称为自动加载,它还记录在 AS PSR-0 标准中,https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md,有一个很好读。

这是符合 PSR-0 的自动加载器示例:PHP - 最轻量级的符合 psr-0 的自动加载器

基本上,这意味着您的名称景观路径将告诉您在哪里查找文件。

例如,您想在 bootstrap.php 中获取 BussinessObject:

//MVC/Models/BussinessObject.php

namespace MVC/Models;

class BussinessObject {

}

//MVC/bootstrap.php

namespace MVC;

use MVC/Models/BussinessObject;

$BussinessObject = new BussinessObject()

然后自动加载器将在 MVC/Models/BussinessObject.php 中查找文件,并且调用需要使用该路径。

于 2013-06-21T14:54:12.893 回答
0

最好的方法应该是仅在真正需要时才包含文件。由于这通常不实用,因此您应该尝试在 app init 中仅包含包含您使用的基本功能的文件。

于 2013-06-21T14:53:35.107 回答