我正在尝试编写一个简单的类:
class tempClass
{
private $myvar = null;
function __construct()
{
$this->myvar = 'temp';
var_dump($this->myvar);
}
public function getmyvar(){
return $this->myvar;
}
}
当我从页面调用 getmyvar()
公共(public)函数时,我在其中包含此类(使用语法 tempClass::getmyvar();
),应该在我可以访问公共(public)函数之前,__construct()
方法不会自动调用吗?它似乎并不——我必须做类似的事情:
$myclass = new tempClass();
$myclass->getmyvar();
为了调用构造函数。有没有一种方法可以在调用类函数时“自动构造”此类,而不必在每个函数中执行 __construct
代码?
谢谢!
最佳答案
构造函数在“构造”对象实例时被调用。换句话说,它发生在创建实例时。
当你执行这一行时:
$myclass = new tempClass();
实例化一个新对象,并执行构造函数。
当您使用 ::
时,没有对象被实例化,因此不会调用构造函数。
关于PHP类构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986634/