php中的構造函數
A. 究竟php的構造函數有什麼用途
就是在你用new創建那個class的時候,class里的構造函數就自動執行了,不需要你再去調用
用途一般是做配置類初始化信息,比如加個類全局變數什麼的
B. 誰能給我解釋下PHP類中的這個構造函數,使用的是數組作為參數.
第1個 contruct 構造函數,正如一般構造函數的基本功能一樣:對類成員屬性進行實始化。
代碼中,如果檢測到傳入的參數是個數組,就遍歷數組,然後用
$this->$key = $val;
進行類成員屬性的初始化。
這里 $key 就是 類成員屬性 的名稱,而 $val 是應該賦予的初始值。
C. 請問PHP構造函數的含義
php的兩大oop使用型函數:構造函數(__construct)和析構函數(__destruct );
構造函數:當在某一頁面寫了眾多函數,其中就包括構造函數,當你調用其中任一函數時,都將在調用此函數前先調用構造函數,如:你把鏈接資料庫代碼寫到構造函數裡面,然後在使用增刪改查時,就不用再寫連接s資料庫語句了,因為有構造函數在,你就只用寫增刪改查類sql語句就可以了。
析構函數:和構造函數相反,在同一頁面內,有眾多函數,其中有析構函數,當你調用了某一函數之後,會自動執行析構函數,比如說你的增刪改查用完了,是不是要關閉資料庫連接來釋放內存?析構函數就是這樣用的。
D. php構造函數實例講解
PHP官網定義:
復制代碼
代碼如下:
構造函數是類中的一個特殊函數,當使用
new
操作符創建一個類的實例時,構造函數將會自動調用。當函數與類同名時,這個函數將成為構造函數。如果一個類沒有構造函數,則調用基類的構造函數,如果有的話,則調用自己的構造函數
如a.php一個class
a類:
復制代碼
代碼如下:
<?php
class
a{
function
__construct(){
echo
'class
a';
}
}
b.php有個class
b類繼承a類:
復制代碼
代碼如下:
<?php
include
'a.php';
class
b
extends
a{
function
__construct(){
echo
'666666';
//parent::__construct();
}
function
index(){
echo
'index';
}
}
$test=new
b();
這樣寫的話,b類有自己的構造函數,那麼實例化b類的時候,自動運行構造函數,此時默認不運行父類的構造函數,如果同時要運行父類構造函數,要聲明parent::__construct();
復制代碼
代碼如下:
<?php
include
'a.php';
class
b
extends
a{
function
index(){
echo
'index';
}
}
$test=new
b();
此時b類沒有自己的構造函數,那麼將默認執行父類的構造函數。
E. PHP中構造函數與自定義函數區別
構造方法:用戶創建對象時,系統自動調用的方法;
功能:初始化類中必備數據的;
PHP5實現方法:
1)方法名和類名相同的方法
2)PHP中設置的魔術方法(用戶執行了某種操作後,系統自動調用的方法):
__construct();
注意:1】如果沒有定義構造方法,那麼系統會自動的創建一個空魔術構造方法;
2】如果PHP4中的構造方法和PHP5中的構造方法,同時存在,那麼PHP5中的構造方法優先使用;普通的成員方法和構造方法的區別和聯系:
1】普通的方法如果定義的名字和類名相同,那麼就變成構造方法
2】如果構造方法中有參數,那麼參數列表要和創建對象時,類名後的小括弧參數類表完全一樣;
3】普通的方法主要是為了完成某個功能,而構造方法主要是初始化數據
4】普通的方法的可以有返回值,但是構造方法從語法上可以有返回值,但是從意義上不能有返回值;
F. 誰能用比較通俗的語言解釋一下php類中的構造函數,他的作用以及為什麼會存在
從php5以後的版本,php的類就可以使用魔術方法了。
php規定以兩個下劃線(__)開頭的方法都保留為魔術方法,所以建議大家函數名最好不用__開頭,除非是為了重載已有的魔術方法。
PHP中的魔術方法有 :__construct,__destruct,__get, __set等
__get、__set這兩個方法是為在類和他們的父類中沒有聲明的屬性而設計的。
__get( $property ) 當調用一個未定義的屬性時,此方法會被觸發,傳遞的參數是被訪問的屬性名
__set( $property, $value ) 給一個未定義的屬性賦值時,此方法會被觸發,傳遞的參數是被設置的屬性名和值
這里的沒有聲明包括當使用對象調用時,訪問控制為proteced,private的屬性(即沒有許可權訪問的屬性)。
在php語言中,類構造器有兩種方法,一種是使用__construct,另一種是使用與類同名的方法。
__construct 構造方法,當一個對象創建時調用此方法,相對於PHP4使用此方法的好處是:可以使構造方法有一個獨一無二的名稱,無論它所在的類的名稱是什麼.這樣你在改變類的名稱時,就不需要改變構造方法的名稱。