0

我想在两个站点上使用一些基本文件,然后让它们覆盖基本文件,如果在我们称之为父/主目录中找到一个文件。否则,请查看辅助基本目录。

我正在开发一个几乎是重复的网站,但只有少数文件会有所不同。因此,为了节省我复制和粘贴整个站点的时间,这样的功能将非常有用。

有没有人遇到过类似的要求,任何信息都会有所帮助。

我也在这里使用 Smarty 模板。

谢谢

4

1 回答 1

1

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 文件。

于 2013-08-18T10:21:28.477 回答