php類中的方法,php類方法和函數

本文目錄一覽:

PHP類中的魔法方法有哪些

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(),__wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()

注意:PHP 將所有以 __(兩個下劃線)開頭的類方法保留為魔術方法。所以在定義類方法時,除了上述魔術方法,建議不要以 __ 為前綴。

詳細可以查看網頁鏈接

PHP怎麼調用其他類的方法

在Java的調用方法是import,而在PHP中沒有import這個函數,一般PHP中調用其他類是用到require(),具體PHP調用其他類的方法如下:

1、首先應該先有一個文件名為tool.php的文件,在文件中聲明一個類。

2、然後需要有另一個文件名為main.php的文件,在文件中調用上面的類。方法如下。

擴展資料:

類是變量與作用於這些變量的函數的集合。使用下面的語法定義一個類:

?php

class Cart { var $items; // 購物車中的物品

// 將 $num 個 $artnr 物品加入購物車

function add_item($artnr, $num) {

$this-items[$artnr] += $num;

} // 將 $num 個 $artnr 物品從購物車中取出

function remove_item($artnr, $num) {

if ($this-items[$artnr] $num) {

$this-items[$artnr] -= $num; return true;

} elseif

($this-items[$artnr] == $num) {

unset($this-items[$artnr]); return true;

} else {

return false; }

}

} ?

上面的例子定義了一個 Cart 類,這個類由購物車中的商品構成的數組和兩個用於從購物車中添加和刪除商品的函數組成。

參考資料來源:百度百科-php類

php 類名::方法

::是靜態訪問方式,只和類本身相關而和類對象沒有關係,所以直接調用是類名::方法名

因為PHP語言本身就是一個不夠嚴謹的語言(或者換句話說,比較靈活),所以當一個方法只要是public(像樓主那樣的缺省的也為public類型)並且該方法中沒有使用代表對象的$this就可以使用::來調用,php在解析的時候會自動將其以靜態方法解析調用。當然在PHP5以後,就引入了static public function func(){}這種方式聲明,所以如果在PHP5上,並且報錯機制是比較全的話,直接調用一個沒有static聲明的方法的時候,就會提示一個notic了···

PHP類中的__set()和__get()方法用在什麼地方?可以用例子說明一下么…

在PHP類中的__set()和__get()方法是針對protect或private變量的,不針對public變量。因為對protect或 private變量在類外不可直接訪問,可在類中定義一個public方法來訪問這些變量,而__set()和__get()方法相當於這些public 方法,但是在類外的操作時表面上相當於直接訪問,但本質上還是通過__set()和__get()方法體內的判斷與操作。對於一個類中有多個 protect或private變量,用一對__set()和__get()方法就可操作,編譯器將可自己區別用的是哪個變量(由在類外操作時具體的變量名決定,如$object-$name=”sss”).

如下:

?php

class test

{

var $name;

var $age;

function __set($name,$value)

{

$this-$name = $value ;

}

function __get($name)

{

return $this-$name;

}

}

$a = new test();

$a – name = 5;

echo $a-name . “br/” ;

$a – age = “12”;

echo $a-age;

?

輸出結果是,5 和 12。

//php類中靜態變量可用一般方法或靜態方法來操作,但如果在類中用靜態方法,則靜態方法中不可有非靜態的變量。

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

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241746.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:43
下一篇 2024-12-12 12:43

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29

發表回復

登錄後才能評論