我在php中输出缓冲有一个奇怪的问题。使用此代码,我在尝试要求第一个文件后收到意外的$ end错误。 (在本例中为/header.php)以下是我的代码设置方式:
class View
{
function __construct()
{
ob_start();
$this->page();
ob_end_flush();
}
private function rekwire($filename)
{
if(file_exists(APPPATH.$filename)) require(APPPATH.$filename);
else if(file_exists(BASEPATH.$filename)) require(BASEPATH.$filename);
}
private function page()
{
$this->rekwire('/header.php');
$this->rekwire('/page.php');
$this->rekwire('/footer.php');
}
}
这个结构在我的webhost上对我有用。我最近在设置本地测试服务器(WAMP)时遇到了问题,这让我觉得它可能是php或apache的设置。任何帮助表示赞赏!
答案 0 :(得分:1)
对象构造函数无效: -
__construct()
应该是:
function __construct()
public function __construct() // public scope
答案 1 :(得分:1)
我没有启用short_open_tags的php配置设置,并且头文件使用了echo快捷方式
很抱歉,如果这浪费了你的时间:)