我想在两个站点上使用一些基本文件,然后让它们覆盖基本文件,如果在我们称之为父/主目录中找到一个文件。否则,请查看辅助基本目录。
我正在开发一个几乎是重复的网站,但只有少数文件会有所不同。因此,为了节省我复制和粘贴整个站点的时间,这样的功能将非常有用。
有没有人遇到过类似的要求,任何信息都会有所帮助。
我也在这里使用 Smarty 模板。
谢谢
Kohana 框架使用这种类型的结构。您有 3 级目录:
Kohana首先在应用程序文件夹中搜索文件,然后在模块中,最后在系统文件夹中。浏览他们的代码以查看他们对这个问题的解决方案。
简单的答案是创建自己的自动加载器方法,例如:
MAIN_DIR = '/my_base_dir';
ADDITIONAL_DIR = '/my_additional_dir';
function __autoload($class_name) {
if (file_exists(MAIN_DIR . $class_name . '.php') {
include MAIN_DIR . $class_name . '.php';
} elseif (file_exists(ADDITIONAL_DIR . $class_name . '.php') {
include ADDITIONAL_DIR . $class_name . '.php');
} else {
throw new Exception('Class ' . $class_name . ' not found!');
}
}
并使用它来加载 PHP 文件。