当我尝试在文件上使用此错误时,此问题是由于错误引起的。我有一个页面类的文件:
class Page {
function whatHappen()
{
echo "this may work";
}
function helloWorld()
{
echo "This is my page!";
require( "usethis.php" ); // --> this works
similar_require( "usethis.php" ); // ---> with this I get an error
}
function write()
{
$this->helloWorld();
}
}
与需要类似的功能:
function similar_require( $filepath )
{
require( $filepath );
}
在usethis.php文件中我有这个:
<?php
$this->whatHappen();
?>
如何做同样的函数,就像使用相同的函数一样工作吗?
答案 0 :(得分:2)
在usethis.php中,您尝试访问$this
,similar_require
未在{{1}}函数范围内声明。
阅读有关可见性的信息:http://www.php.net/manual/en/language.variables.scope.php
所有这些代码看起来都很脏:不要在方法或函数中使用'require'或'include' - 就像使用全局变量一样(并且全局变量非常糟糕)。
答案 1 :(得分:0)
也许这会奏效:
function similar_require( $filepath, $this )
{
require( $filepath );
}
和
similar_require( "usethis.php", $this );