gpt4 book ai didi

php - 使用 require_once 后 undefined variable

转载 作者:行者123 更新时间:2023-12-04 14:01:08 26 4
gpt4 key购买 nike

我创建了一个 Page 类,我网站上的所有页面都是该 Page 类的对象。每个 Page 对象都有一个 title 属性,该属性作为参数传递给构造函数,因此创建一个新的 Page 对象如下所示。

<?php

require_once('library/Page.php');

$page = new Page('About');

$page->header();

这就是问题所在。

header() 方法是...

public function header()
{

require_once($this->templatePath . 'header.php');

}

然后我回显页面标题使用

<?php echo $page->title; ?>

但是,我收到以下错误。


Notice: Undefined variable: page in /Users/aaronfalloon/Projects/PHP/tfm/template/header.php on line 19

Notice: Trying to get property of non-object in /Users/aaronfalloon/Projects/PHP/tfm/template/header.php on line 19

最佳答案

让我进一步解释一下 Gumbo 写的内容。

当您包含模板文件时,您在头函数中执行了操作,因此模板文件中的所有 $page 变量都引用头函数中的本地 $page 变量,这显然没有声明/定义。

您应该使用 $this->title 来引用当前类。

有点像

class Page{

public function header(){
echo $this->title;
}

}

当您尝试包含模板文件时:

// page class
class Page{

public function header(){
include('template.php');
}

}

.

// template file
echo $this->title;

关于php - 使用 require_once 后 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1962321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com