我目前正在开展一个项目,我们正在开发一个应用程序,该应用程序将用于从一组文件/托管环境中为多个站点上的内容提供动力。
有许多 PHP 类的名称如model_account
和model_vehicle
,它们在名为 save 的单独文件中定义为类名。我们spl_autoload_register
用来加载类文件如下(简化):
function my_autoloader($class_name) {
if(substr($class_name, 0, 6)=='model_') {
require_once('models/'.$class_name.'.php');
}
}
我们想要做的是,如果访问者正在访问站点 xxx,并且我们创建了一个类的实例,例如-如果文件存在( ),则$account = new model_account();
实际创建一个类的实例,但如果不存在,则只需包含该文件和创建一个.model_xxx_account
models/model_xxx_account.php
models/model_account.php
model_account
同样,如果访问者来自 yyy 站点,我们会希望使用model_yyy_account
if 存在,但如果不存在则完全返回model_account
。
本质上,我们希望做的是在满足条件时创建不同类的实例,但来自同一个实例化调用。
我们没有使用像 CI 或 Cake 这样的现成框架。另外,我稍微简化了这篇文章的命名约定。抱歉,如果我的 OO 术语不正确。