php類構造函數
Ⅰ thinkphp如何使用(調用)構造函數
構造函數不需要調用,你只要實例化這個類,類會自動調用構造函數。
一般用於給類初始化數據。
Ⅱ php中子類有構造函數如何調用父類中的構造函數,最好能舉個簡單的例子
class A{
function __contruct($num){
echo "aaa";
}
}
class B extends A{
function __contruct(){
echo "bbb";
A:: __contruct($num) //第一種調用父類構造函數的方法
parent:: __contruct($num) //第二種調用父類構造函數的方法
}
}
Ⅲ 究竟PHP的構造函數有什麼用途
就是在你用new創建那個class的時候,class里的構造函數就自動執行了,不需要你再去調用
用途一般是做配置類初始化信息,比如加個類全局變數什麼的
Ⅳ php直接用類名調用靜態方法會不會觸發類的構造函數
調用靜態方法與觸發類的構造函數沒有必然關系。但是靜態方法可以實例化類本身,這時候會觸發構造函數,而且可以傳參數。如:
classclassname{
privatefunction__construct($a){
$this->a=$a;
exit($this->a);//列印一下
}
publicstaticfunctionstaticfun($a){
newself($a);
}
}
//usecaseasfollow:
$a='測試123';
classname::staticfun($a);
Ⅳ 在php中,子類extends繼承了父類,當子類和父類同時存在構造函數__construct先執行哪一個呢
1、如果父類和子類中都沒有顯式的定義__construct,在實例化子類對象時,只會隱含的調用子類自己的構造方法。
2、如果父類中有顯式的構造方法__construct,而子類中沒有定義__construct,在實例化子類對象時,就會調用父類中的構造方法。
3、如果父類和子類中都顯式的定義了__construct,在實例化子類對象時,只會調用子類自己的構造方法(這就像是子類重構了父類的構造方法),而如果也想要調用父類的構造方法的話,就需要在子類的__construct 方法中顯式的調用,(如 __construct(){ parent::_construct();})。
(5)php類構造函數擴展閱讀
子類的構造函數名與子類名相同。
在子類里父類的構造函數不會自動執行。
要在子類里執行父類的構造函數,必須執行類似以下語句:
$this->[父類的構造函數名()]
類的構造函數統一命名為__construct()。
子類的構造函數名也是__construct()(也是廢話)。
在子類里父類的構造函數會不會執行,分兩種情況:
1、如子類不定義構造函數 __construct(),則父類的構造函數默認會被繼承下來,且會自動執行。
2、如子類定義了構造函數 __construct(),因為構造函數名也是__construct(),所以子類的構造函數實際上是覆蓋(override)了父類的構造函數。這時執行的是該子類的構造函數。
這時如果要在子類里執行父類的構造函數,必須執行類似以下語句:parent::__construct();
Ⅵ PHP構造函數傳遞值的問題
__construct($hostname)裡面的參數是構造函數的參數,只能在構造函數內部調用,
public $hostname;這是類的參數,整個類內部包括繼承類都可以調用
第二種的參數只能在構造函數中使用,而第一種,則將傳來的參數賦值給類的變數,所以第一種的hostname整個類內部的方法都可以使用$this->hostname來調用
Ⅶ 誰能給我解釋下PHP類中的這個構造函數,使用的是數組作為參數.
第1個 contruct 構造函數,正如一般構造函數的基本功能一樣:對類成員屬性進行實始化。
代碼中,如果檢測到傳入的參數是個數組,就遍歷數組,然後用
$this->$key = $val;
進行類成員屬性的初始化。
這里 $key 就是 類成員屬性 的名稱,而 $val 是應該賦予的初始值。