将文件内容作为include()函数返回

时间:2012-06-30 19:36:09

标签: php oop class methods include

我有两种类型的页面:动态(位于数据库中)和静态(基于文件,如page.php) 我不想把一堆if或者开关的信息搞乱到index.php。所以我创建了类和方法。现在,我想做的是:

$page->getContent($pgdata("token"));

getContent函数检查页面标记

  • 如果是动态页面,从数据库获取内容并简单地回显db中的数据(它是100%干净)
  • 如果页面是静态的......问题从这里开始 我的静态页面是基于文件的。在这种情况下,我想要做的是,如果我在include()上使用$page->getContent($pgdata("token"));而不是index.php,则使函数表现为。我可以做什么?阅读$pgdata("token").php的内容并返回方法输出?注意:$ pgdata(“token”)里面有php函数.php也是。所以我不能输出$ pgdata(“token”)。php文件的内容就像字符串一样。

1 个答案:

答案 0 :(得分:1)

function getContent($name) {
  ...
  if($static) {
    ob_start();
    include "$name.php";
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
  }
}

我不确定我是否正确理解您,但我相信您正在尝试将PHP文件的内容加载到变量中?你可以使用输出缓冲来实现,如上所述。