A. php 构造函数格式,具体该怎么写应该注意什么呢
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样
class test
{
function __construct()
{
//your code
}
}
class test
{
function test()//如果方法名跟类名字一样,将被认为是构造函数
{
//your code
}
}
以上为两种基本形式
我刚才说的传递参数进行实例化的例子,简单的写一个参考
class test
{
public $test = '';
function __construct($input = '')
{
$this->test = $input;
}
function getTest()
{
return $this->test;
}
}
$a = new test('a test');
echo $a->getTest()//将输出 a test
$b = new test();
echo $a->getTest()//没有任何输出(其实是有输出,但是输出为空)
B. 关于php构造函数
用于类的初始化,在新建一个对象时被立即执行,既
new base();
此时会执行__construct()
$this是指类(实例)自身
C. PHP中将构造函数__construct()设置为private出错
private 是指在只有本类内部才能使用,public是所有地方都可以使用,你这显然是外部调用内部类 肯定不行啊
D. php直接用类名调用静态方法会不会触发类的构造函数
不会呀,只有实例化对象时,才会自动调用构造函数。