① php構造函數 在一個類中調用另一類的構造函數怎麼會出錯
類的實例化不是這樣的
Student::__construct("張",24,"男");
改成 new Student("張",24,"男")
② php構造函數的PHP 4 構造函數
當函數與類同名時,這個函數將成為構造函數。如果一個類沒有構造函數,則調用基類的構造函數,如果有的話 。 <?phpclassAuto_CartextendsCart{functionAuto_Cart(){$this->add_item(10,1);}}?>上文定義了一個 Auto_Cart 類,即 Cart 類加上一個構造函數,當每次使用「new」創建一個新的 Auto_Cart 類實例時,構造函數將自動調用並將一件商品的數目初始化為「10」。構造函數可以使用參數,而且這些參數可以是可選的,它們可以使構造函數更加有用。為了依然可以不帶參數地使用類,所有構造函數的參數應該提供默認值,使其可選。 <?phpclassConstructor_CartextendsCart{functionConstructor_Cart($item=10,$num=1){$this->add_item($item,$num);}}//買些同樣的無聊老貨$default_cart=newConstructor_Cart;//買些實在貨...$different_cart=newConstructor_Cart(20,17);?>也可以使用 @ 操作符來抑制發生在構造函數中的錯誤。例如 @new。 <?phpclassA{functionA(){echoIamtheconstructorofA.<br>/n;}functionB(){.<br>/n;echoIamnotaconstructorinA.<br>/n;}}classBextendsA{functionC(){echoIamaregularfunction.<br>/n;}}//調用B()作為構造函數$b=newB;?>析構函數是一種當對象被銷毀時,無論使用了 unset() 或者簡單的脫離范圍,都會被自動調用的函數。php 中沒有析構函數。可以用 register_shutdown_function() 來替代模擬大多數析構函數的效果。
③ PHP構造函數傳遞值的問題
__construct($hostname)裡面的參數是構造函數的參數,只能在構造函數內部調用,
public $hostname;這是類的參數,整個類內部包括繼承類都可以調用
第二種的參數只能在構造函數中使用,而第一種,則將傳來的參數賦值給類的變數,所以第一種的hostname整個類內部的方法都可以使用$this->hostname來調用
④ PHP 什麼是構造函數
魔術方法之一,在某種特定條件下會自動觸發的方法,也可以叫函數,
構造函數,在類被實例化成對象時,會自動調用的函數(方法),不需要你手動調用。
一般做對象的初始化,數據的初始化,基於同一個類的每個對象都有相同的屬性跟方法,
但是到具體的值是不一樣的,例如: 人都有名字,但是名字會不一樣,所以需要做初始化。
<?php
classPerson{
private$name;
publicfunction__construct($name){
$this->name=$name;
}
publicfunctiongetName(){
return$this->name;
}
}
$p1=newPerson('天');
echo$p1->getName();
⑤ php構造函數
類中有函數和變數。
類中定義的變數叫做屬性,
類中的函數叫做方法。
$this是指類本身,
$this->base()
指調用當前類中的base()方法。
構造函數可有可無。先可以不考慮構造函數的功能。
構造函數只是創建類的實例的時候自動被調用。其他地方也跟普通函數一樣。
類中與類名同名的函數成為構造函數。
等你寫多代碼以後自然而然的想寫構造函數了。那時候肯定會理解構造函數的用處。
⑥ 請問PHP構造函數的含義
php的兩大oop使用型函數:構造函數(__construct)和析構函數(__destruct );
構造函數:當在某一頁面寫了眾多函數,其中就包括構造函數,當你調用其中任一函數時,都將在調用此函數前先調用構造函數,如:你把鏈接資料庫代碼寫到構造函數裡面,然後在使用增刪改查時,就不用再寫連接s資料庫語句了,因為有構造函數在,你就只用寫增刪改查類sql語句就可以了。
析構函數:和構造函數相反,在同一頁面內,有眾多函數,其中有析構函數,當你調用了某一函數之後,會自動執行析構函數,比如說你的增刪改查用完了,是不是要關閉資料庫連接來釋放內存?析構函數就是這樣用的。
⑦ php構造函數 function__construct()顯示錯誤,為什麼啊 代碼如下
function __construct() 沒錯
我直接把你代碼貼進編輯器,直接一個語法錯誤。
function【注意這里需要至少一個空格】__construct
⑧ 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()//沒有任何輸出(其實是有輸出,但是輸出為空)
⑨ PHP構造函數的特點
在你new class的時候,執行構造函數,可以給類屬性賦值,也可以注入依賴。
⑩ 究竟PHP的構造函數有什麼用途
就是在你用new創建那個class的時候,class里的構造函數就自動執行了,不需要你再去調用
用途一般是做配置類初始化信息,比如加個類全局變數什麼的