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直接用類名調用靜態方法會不會觸發類的構造函數
不會呀,只有實例化對象時,才會自動調用構造函數。