【发布时间】:2023-03-09 21:55:01
【问题描述】:
在这个 PHP 脚本中,我多次调用模型加载器函数。我希望主模型(所有模型的父模型)只包含一次,但如果我不调用任何模型,则不包含在内。
此外,模型加载器将始终包含在内。因此,如果我不调用任何模型,我不希望包含主模型。
我怎样才能做到这一点?
脚本.php
include("model-loader.php");
// Returns the models instances.
$Model1 = loadModel("Model1");
$Model2 = loadModel("Model2");
模型加载器.php
function loadModel($name) {
include("MasterModel");
return new $name();
}
【问题讨论】:
-
您还需要小心包含在函数内部,是否有特殊原因要这样做而不是将整个
loadMode()函数包含在包含中。 -
请注意
include允许包含的脚本返回调用脚本。这意味着您可以return new class() extends MakeModel {}或其他任何内容,然后是return include 'MakeModel.php';或您的函数中的任何内容。 -
此外,自动加载器和
use语句将实现所需的相同效果(除非在某处使用,否则不会“包含”文件)。
标签: php