我创建了自己的 mvc 模型,所以我必须包含我所有的模型和控制器类。
每次我需要在控制器中使用模型时,我都会使用:
require_once('myModel.php');
有点像java中的import
但是我有一个问题,以这种方式继续下去是一个好的解决方案吗?我宁愿在代码的开头包含我所有的模型和控制器,但我担心这个解决方案太重了。
谢谢
我创建了自己的 mvc 模型,所以我必须包含我所有的模型和控制器类。
每次我需要在控制器中使用模型时,我都会使用:
require_once('myModel.php');
有点像java中的import
但是我有一个问题,以这种方式继续下去是一个好的解决方案吗?我宁愿在代码的开头包含我所有的模型和控制器,但我担心这个解决方案太重了。
谢谢
一般来说,我不建议您创建自己的框架,但如果您坚持或想要出于学习目的这样做,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 中查找文件,并且调用需要使用该路径。
最好的方法应该是仅在真正需要时才包含文件。由于这通常不实用,因此您应该尝试在 app init 中仅包含包含您使用的基本功能的文件。