當前位置:首頁 » 編程語言 » php類構造

php類構造

發布時間: 2022-06-22 20:24:34

㈠ 哪位知道php中構造方法是什麼意思

__construct() 用在類里的,構造函數,就是每次實例化類的時候會自動執行這個函數

㈡ PHP 什麼是構造函數

魔術方法之一,在某種特定條件下會自動觸發的方法,也可以叫函數,

構造函數,在類被實例化成對象時,會自動調用的函數(方法),不需要你手動調用。

一般做對象的初始化,數據的初始化,基於同一個類的每個對象都有相同的屬性跟方法,

但是到具體的值是不一樣的,例如: 人都有名字,但是名字會不一樣,所以需要做初始化。

<?php

classPerson{

private$name;
publicfunction__construct($name){
$this->name=$name;
}
publicfunctiongetName(){
return$this->name;
}
}

$p1=newPerson('天');

echo$p1->getName();

㈢ 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類沒有自己的構造函數,那麼將默認執行父類的構造函數。

㈣ php中的類構造函數是不是不能調用其他函數

可以執行的,任何類的構造函數就和普通的函數沒任何使用區別,只不過類的構造函數在實例化對象的時候調用一次,如果函數中調用其他函數,被調用的函數必須是聲明過的才可以

㈤ 誰能用比較通俗的語言解釋一下php類中的構造函數,他的作用以及為什麼會存在

從php5以後的版本,php的類就可以使用魔術方法了。

php規定以兩個下劃線(__)開頭的方法都保留為魔術方法,所以建議大家函數名最好不用__開頭,除非是為了重載已有的魔術方法。

PHP中的魔術方法有 :__construct,__destruct,__get, __set等

__get、__set這兩個方法是為在類和他們的父類中沒有聲明的屬性而設計的。

__get( $property ) 當調用一個未定義的屬性時,此方法會被觸發,傳遞的參數是被訪問的屬性名

__set( $property, $value ) 給一個未定義的屬性賦值時,此方法會被觸發,傳遞的參數是被設置的屬性名和值

這里的沒有聲明包括當使用對象調用時,訪問控制為proteced,private的屬性(即沒有許可權訪問的屬性)。

在php語言中,類構造器有兩種方法,一種是使用__construct,另一種是使用與類同名的方法。

__construct 構造方法,當一個對象創建時調用此方法,相對於PHP4使用此方法的好處是:可以使構造方法有一個獨一無二的名稱,無論它所在的類的名稱是什麼.這樣你在改變類的名稱時,就不需要改變構造方法的名稱。

㈥ PHP類的構造方法

構造方法是類中的一個特殊方法。當使用 new 操作符創建一個類的實例時,構造方法將會自動調用,其名稱必須是 __construct() 。所以通常用它執行一些有用的初始化任務。該方法無返回值。
如果子類中定義了構造函數則不會暗中調用其父類的構造函數。要執行父類的構造函數,需要在子類的構造函數中調用 parent::__construct()。

與構造方法對應的就是析構方法,析構方法會在某個對象的所有引用都被刪除或者當對象被顯式銷毀之前執行的一些操作或者功能。析構函數不能帶有任何參數,其名稱必須是 __destruct() 。
同樣,如果子類中定義了析構函數則不會暗中調用其父類的析構函數。要執行父類的析構函數,需要在子類的析構函數中調用 parent::__destruct()。

注意:在析構函數中拋出一個異常會導致致命錯誤。
<?php

class Construct{
protected $a;
protected $b;
function __construct($a,$b){ //定義構造函數
$this->a=$a;
$this->b=$b;
}
function __destruct(){ //重新定義為初始值
$result=0;
echo '恢復乘積的初始值:'.$result;
}
}

class son extends construct{
private $c;
function __construct($c){
parent::__construct(6,10); //調用父類的構造方法,使用方法:parent::__construct(); 有參數加參數
$this->c=$c;
}
function show(){
$result=$this->a*$this->b*$this->c;
print 'abc的乘積是:'.$result.' ';
}
function __destruct(){
parent::__destruct(); //調用父類的析構函數,使用方式:parent::__destruct();
}
}

$test=new son(12); //實例化對象
$test->show(); //abc的乘積是:720 恢復乘積的初始值:0

?>

㈦ 究竟PHP的構造函數有什麼用途

太多了,函數的功能就是重復調用,規范代碼
舉兩個簡單的例子,用來做客戶端表單驗證,用來設置跳轉
呵呵,而且你這個寫的並不叫函數,是一個類
如果你有興趣,還是找本好點的js書看看吧

㈧ PHP構造方法到底有什麼用

構造是面向類的。空構造沒有用的
構造主要有參數才有意思,傳遞值到對象內部,否則調用的是系統內置函數。
例:
$a=new class1; //空構,可忽略()
$b=new class1($abc);//傳參數到對象內。

㈨ 誰能給我解釋下PHP類中的這個構造函數,使用的是數組作為參數.

第1個 contruct 構造函數,正如一般構造函數的基本功能一樣:對類成員屬性進行實始化。

代碼中,如果檢測到傳入的參數是個數組,就遍歷數組,然後用

$this->$key = $val;

進行類成員屬性的初始化。

這里 $key 就是 類成員屬性 的名稱,而 $val 是應該賦予的初始值。

㈩ PHP構造方法和析構方法

什麼是構造方法
構造方法是類的一種特殊的方法,它的主要作用是完成對新對象初始化.
特點:
1. 沒有返回值.
2. 在創建一個新的對象時,系統會自動調用該類的構造方法完成對新對角的初始化.
語法:
php5: 修飾符 function __construct()
{
//code
}
php4: 修飾符 function 類名()
{
//code
}
注意:
1. php5里對兩者都支持,如果兩種構造方法同時存在的話,優先選擇第一種.
2. 一個類裡面默認有一個不帶參數為空的構造方法,一旦自定義了一個構造方法,就會覆蓋默認的構造方法.
所以說一個類有且只有一個構造方法.
3.一個類只能有一個構造方法.(不能重載)
4.構造方法默認的訪問修飾符為public.
二.this關鍵字
this代表當前對象.可以理解為:誰調用它,它就代表誰.
注意事項:
this不在類定義的使用,只能在類定義的方法中使用.
三.實例
復制代碼 代碼如下:

<?php
header("Conter-Type:text/html;charset=utf-8");
class Person
{
public $name; //成員變數
public $age;

// function __construct()
//{
// echo "不帶參數的構造方法";

//}
function __construct($name,$age)
{
$this -> name = $name;
$this -> age = $age;
echo "帶參數的構造方法"."<br />";
}
//成員方法
function view()
{
//this的引用.
echo "姓名:".$this ->name.", 年齡:".$this ->age;

}
}
//new一個新的對象
//$p = new Person();
$p2 = new Person("李四",13);
$p2 ->view();
?>
結果如下:
帶參數的構造方法
復制代碼 代碼如下:

<SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; FONT: 14px 微軟雅黑; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #ff00ff; WORD-SPACING: 0px" color="#ff00ff"> 姓名:李四, 年齡:13</SPAN>
四:析構方法:
析構方法是PHP5引入的新概念.主要作用:釋放資源(比如:釋放資料庫鏈接,圖片資源...).
語法:
function __destruct(){}
特點:
1.析構方法沒有返回值.
2.主要作用是釋放資源.並不是銷毀對象本身.
3.在銷毀對象前,系統自動調用該類的析構方法.
4.一個類最多隻有一個析構方法.
五:例子:
復制代碼 代碼如下:

<?php
header("Conter-Type:text/html;charset=utf-8");

class Person
{
public $name;
public $age;
//構造方法
function __construct($name,$age)
{
$this ->name = $name;
$this ->age = $age;

}
//析構方法
function __destruct()
{
echo "姓名:".$this->name.", 年齡".$this->age."-->銷毀<br />";
}

}

$p1= new Person("小一",18);
$p2= new Person("小二",17);
?>
結果:
姓名:小二, 年齡17-->銷毀
姓名:小一, 年齡18-->銷毀
分析結論:
1.析構方法會自動調用.
2.析構方法調用的順序是先創建的對象後被銷毀.
3.當一個對象沒有引用,被垃圾回收機制確認為垃圾時,調用析構方法.

熱點內容
源碼地帶 發布:2025-02-05 18:46:37 瀏覽:613
我的世界伺服器怎麼騎別人的頭 發布:2025-02-05 18:46:32 瀏覽:89
怎麼卸載ftp賬號 發布:2025-02-05 18:41:52 瀏覽:62
SQL指定的服務並未以 發布:2025-02-05 18:40:09 瀏覽:972
電腦連接不了伺服器什麼意思 發布:2025-02-05 18:34:46 瀏覽:355
2015版dw怎麼配置站點 發布:2025-02-05 18:33:37 瀏覽:429
php數組中重復值 發布:2025-02-05 18:16:59 瀏覽:366
分布式存儲優點 發布:2025-02-05 18:15:29 瀏覽:644
徵婚交友源碼 發布:2025-02-05 17:45:24 瀏覽:918
3nvm伺服器怎麼搭建 發布:2025-02-05 17:43:52 瀏覽:661