是否可以在构造函数中调用函数?
例如:
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。我知道我可以在构造函数中硬编写函数,但最后我得到了双重代码。如果没有其他选择,我会这样做,但如果还有其他选择,请随时分享您的知识!
先谢谢!
亲切的问候
答案 0 :(得分:0)
是的,它可能但你需要使用$ 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";
}