當前位置:首頁 » 編程語言 » php類所有方法

php類所有方法

發布時間: 2023-03-07 04:28:52

1. php獲取、檢查類名、函數名、方法名的函數方法

1.function_exists()
-
Return
TRUE
if
the
given
function
has
been
defined
2.is_callable()
-
檢測參數是否為合法的可調用結構
3.class_exists()
-
檢查類是否已定義
4.method_exists()
-
檢查類的方法是否存在
__FUNCTION__
函數名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該函數被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__CLASS__
類的名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該類被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__METHOD__
類的方法名(PHP
5.0.0
新加)。返回該方法被定義時的名字(區分大小寫)。
註:這些常量前後均是兩個下劃線。
get_class(class
name);//取得當前語句所在類的類名
get_class_methods(class
name);//取得class
name
類的所有的方法名,並且組成一個數組
get_class_vars(class
name);//取得class
name
類的所有的變亮名,並組成一個數組

2. php 類名::方法

類::方法 ,是對類的靜態屬性和方法的直接引用,不需要實例化類而直接使用。

訪問PHP類中的成員變數或方法時,如果被引用的變數或者方法被聲明成const(定義常量)或者static(聲明靜態),那麼就必須使用操作符::,反之如果被引用的變數或者方法沒有被聲明成const或者static,那麼就必須使用操作符->。

3. php列出一個類文件所有方法名稱

php獲取當前類所有方法名稱的函數:get_class_methods(class name),class name指類名,調用後會返回類中所有方法組成的數組。


此外,類似功能的語句還有

get_class(classname);//取得當前語句所在類的類名
get_class_vars(classname);//取得classname類的所有的變亮名,並組成一個數組

4. php中 類::方法

-> 這種方式只能訪問已經實例化的對象的方法和屬性。使用這種方式類,必須要實例化。不然訪問就會出錯。

:: 訪問靜態類里的方法和屬性。這種方式訪問的方法和屬性,必須是靜態聲明的。。在訪問這些方法和屬性的時候。不需要實例化這個類即可訪問。

例1:
$a = new a; //實例化A
$a->fun(); //訪問方法
echo $a->str; //訪問屬性

例2:
a::fun(); //訪問方法
a::$str; //訪問屬性

5. PHP怎麼調用其他類的方法

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

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

(5)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 類,這個類由購物車中的商品構成的數組和兩個用於從購物車中添加和刪除商品的函數組成。

6. PHP類的靜態(static)方法和靜態(static)變數使用介紹

在php中,訪問類的方法/變數有兩種方法:
1.
創建對象$object
=
new
Class(),然後使用」->」調用:$object->attribute/function,前提是該變數/方法可訪問。
2.
直接調用類方法/變數:class::attribute/function,無論是靜態/非靜態都可以。但是有前提條件:
A.
如果是變數,需要該變數可訪問。
B.
如果是方法,除了該方法可訪問外,還需要滿足:
b1)
如果是靜態方法,沒有特殊條件;
b2)
如果是非靜態方法,需要改方法中沒有使用$this,即沒有調用非靜態的變數/方法,當然,調用靜態的變數/方法沒有問題。
然後我們再看一下使用$object->…
和使用class::…
都有什麼區別:
1.
使用$object->…
,需要執行構造函數創建對象;
2.
使用class::…
調用靜態方法/變數,不需要執行構造函數創建對象;
3.
使用class::…
調用非靜態方法/變數,也不需要執行構造函數創建對象。
然後奇怪的地方就出來了,既然2和3都一樣,那靜態方法/變數存在還有什麼意義呢?
差異還是顯然存在的,如下:
1.
靜態變數
靜態成員只保留一個變數值,而這個變數值對所有的實例都是有效,也就是說,所有的實例共享這個成員。
2.
靜態方法
靜態方法可以直接使用class::…
來調用,而非靜態方法需要滿足一定限制條件才能使用class::..
的方法調用,如之前所述

熱點內容
at24c02存儲晶元的參考文獻 發布:2024-05-22 07:28:26 瀏覽:727
微信apiphp 發布:2024-05-22 07:26:49 瀏覽:148
編譯kernel的流程 發布:2024-05-22 07:26:47 瀏覽:939
u盤頭戴式耳機怎麼連接安卓手機 發布:2024-05-22 07:25:30 瀏覽:603
pc換圖腳本 發布:2024-05-22 07:24:00 瀏覽:111
輔助腳本是怎麼製作的 發布:2024-05-22 07:15:04 瀏覽:686
怎麼在伺服器中找人 發布:2024-05-22 07:06:23 瀏覽:104
ftp建立win10 發布:2024-05-22 06:27:02 瀏覽:845
蘋果怎麼改安卓系統 發布:2024-05-22 06:21:21 瀏覽:20
飛兒精品教程解壓密碼 發布:2024-05-22 06:21:17 瀏覽:903