可以在构造函数中调用函数吗?PHP
可以在构造函数中调用函数吗 例如:可以在构造函数中调用函数吗?PHP,php,function,constructor,call,Php,Function,Constructor,Call,可以在构造函数中调用函数吗 例如: class Foo { public $bars = array(); public function __construct($string) { fetchBars($string); } public function fetchBars($string) { $folder = opendir($string); while (false !== ($
class Foo
{
public $bars = array();
public function __construct($string)
{
fetchBars($string);
}
public function fetchBars($string)
{
$folder = opendir($string);
while (false !== ($bar = readdir($folder)))
{
$this->bars[] = $bar;
}
closedir($folder);
}
}
我展示的示例不起作用。我试图找出是否可以在构造函数中使用函数,但我找不到awnser。我知道我可以在构造函数中硬写函数,但最终我会得到双重代码。如果没有其他选择,我会这么做,但如果有其他选择,请随意分享您的知识
提前感谢
是的,这是可能的,但是您需要使用$this关键字,除非函数是全局的并且在任何类之外
class Foo
{
public $bars = array();
public function __construct($string)
{
$this->fetchBars($string);
myfunction(); // this can be called without $this
}
public function fetchBars($string)
{
$folder = opendir($string);
while (false !== ($bar = readdir($folder)))
{
$this->bars[] = $bar;
}
closedir($folder);
}
}
// this function is outside class. so can be used without $this.
function myfunction()
{
echo "foo";
}