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

php當前類名

發布時間: 2023-01-07 07:59:49

『壹』 php是否有函數,可以查看當前所有已經定義了的類

get_declared_classes

(PHP 4, PHP 5, PHP 7)
get_declared_classes — 返回由已定義類的名字所組成的數組

說明

get_declared_classes ( void ) : array
返回由當前腳本中已定義類的名字組成的數組。

返回值

返回由當前腳本中已定義類的名字組成的數組。

試試這個函數,看能返回不

『貳』 PHP獲取類名的一個問題(基類獲取子類名)

從父類中獲得子類名稱,並不是不可能,
但是,這樣做嚴重違背設計原則,屬於設計錯誤。設計上不及格。。
應該檢討自己的需求和模型設計。

把具體應用情況說一說,我看看哪裡做扭曲了

『叄』 PHP-php怎樣自動獲取被調用的類名

(PHP 4, PHP 5)

get_class -- 返回對象的類名

說明
編輯

string get_class ( [object obj] )

返回對象實例 obj 所屬類的名字。如果 obj 不是一個對象則返回 FALSE。

注: 在 PHP 擴展庫中定義的類返回其原始定義的名字。在 PHP 4 中 get_class() 返回用戶定義的類名的小寫形式,但是在 PHP 5 中將返回類名定義時的名字,如同擴展庫中的類名一樣。

注: 自 PHP 5 起,如果在對象的方法中調用則 obj 為可選項。

<?php
classfoo{
functionfoo()
{
//implementssomelogic
}
functionname()
{
echo"Mynameis",get_class($this)," ";
}
}
//createanobject
$bar=newfoo();
//externalcall
echo"Itsnameis",get_class($bar)," ";
//internalcall
$bar->name();
?>

輸出:

Its name is foo

My name is foo

『肆』 php"直接用類名"和"new實例化"調用函數哪種方法效率更高

1.首先用法不同,__new__()用於創建實例,所以該方法是在實例創建之前被調用,它是類級別的方法,是個靜態方法;

而 __init__() 用於初始化實例,所以該方法是在實例對象創建後被調用,它是實例級別的方法,用於設置對象屬性的一些初始值。

由此可知,__new__()在__init__() 之前被調用。如果__new__() 創建的是當前類的實例,會自動調用__init__()函數,通過return調用的__new__()的參數cls來保證是當前類實例,如果是其他類的類名,那麼創建返回的是其他類實例,就不會調用當前類的__init__()函數。

2.其次傳入參數不同

__new__()至少有一個參數cls,代表當前類,此參數在實例化時由Python解釋器自動識別;

__init__()至少有一個參數self,就是這個__new__()返回的實例,__init__()在__new__()的基礎上完成一些初始化的操作。

3.返回值不同

__new__()必須有返回值,返回實例對象;

__init__()不需要返回值。另外談談__new__()的作用,__new__()方法主要用於繼承一些不可變的class,比如int, str, tuple, 提供一個自定義這些類的實例化過程的途徑,一般通過重載__new__()方法來實現。代碼如下

另外__new__()方法還可以用來實現單例模式,也就是使每次實例化時只返回同一個實例對象。

『伍』 PHP中有關new的用法 一般new後面直接跟類名就可以了,我看到下面的一段代碼為什麼new 後面還跟帶$符號變數

這是PHP的一個特性,函數,類、類方法都可以這樣調用,解釋器或自動找尋匹配的函數、類以及類方法調用。可以說是PHP比較靈活的一個特性。

運行下面的代碼試試
<?php
$func = 'Hello';
$func();

function Hello() {
echo ('Hi there!');
}
?>

你貼出來的代碼,是通過蹩腳的辦法試圖實現一個工廠方法,但是他這個代碼設計是不太好的。

『陸』 請問高手們,__CLASS__ 在php中是代表什麼意思呢

類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)在 PHP 4 中該值總是小寫字母的。

『柒』 php中::是什麼意思

一、php中的::是調用類中的靜態方法或者常量,屬性的符號。PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。中文名:「超文本預處理器」是一種通用開源腳本語言。

二、PHP 是一種 HTML 內嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。

三、PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多,PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。被廣泛的運用。

例如
1、class aaa{
static function ar(){

}

function br(){}
}

2、使用非靜態方法,要先創建實例

$obj = new aaa();
$obj -> br();

3、使用靜態方法,無需創建實例,直接使用類名
aaa::ar();

(7)php當前類名擴展閱讀:

1、PHP作為網路開發的強大語言之一,現在應用非常廣泛,具有開放源代碼,跨平台性強,開發快捷,效率高,面向對象,並且易於上手,專業專注等諸多優點。

2、各種PHP開發框架也讓程序開發變的簡單有效。

3、php框架對很多新手而言可能會覺得很難攀越,其實不然 ,只要知道一個框架的流程,明白原理了,基本類似框架都可以看懂,php框架真正的發展要從php5開始了,其實php4時代就有一些框架,但是因為框架並沒有給大家帶來多方便而覺得很復雜,速度沒有純php好,所以一直到了php5才有大的發展,php5的面向對象模型的修改對框架的發展起了很大的作用。

參考鏈接:PHP框架_網路

『捌』 php中::是什麼意思

PHP中的『::』是一種內置的語法解析符號,中文名叫做「范圍解析操作符」。:: 符號是用來幫助PHP中的語法結構「類」來實現對其成員的訪問,通常我們只允許訪問靜態成員,具體代碼如下:

① 類正常訪問靜態成員

class Heima{
//靜態屬性
public static $heima = '黑馬';
//靜態方法
public static function getHeima(){
//內部使用::
echo self::$heima; //self代表Heima類,同Heima::$heima
}
}

//外部訪問
echo Heima::$heima; //訪問靜態屬性,輸出黑馬
Heima::getHeima(); //訪問靜態方法,輸出黑馬
② 類訪問普通方法(系統不建議,有風險,風險原因網頁鏈接)

class Heima{
//普通方法
public function show(){
echo __CLASS__; //輸出當前所屬類類名
}
}

//正常應該是對象訪問 $h = new Heima();$h->show();
//靜態訪問
Heima::show(); //系統會提示點什麼,但是可以訪問
//其實對象也可以利用::符號訪問
$h = new Heima();
$h::show(); //效果也能達成,但是我們通常不建議這么使用
有關這類的基礎知識,到黑馬程序員論壇裡面去看基礎知識的視頻吧。還有筆記。不然這么問,耽誤自學時間
?

『玖』 PHP 獲取類名

在PHP中可以使用魔術方法 __CLASS__ 來獲取類名

官方文檔如下

如果想要得到不包含類的作用域的名稱或類的作用域則需要下面兩個函數

類包含作用域的名稱

類作用域的名稱

類不包含作用域的名稱

『拾』 php 怎麼獲取當前函數名稱

使用__FUNCTION__

function test()
{
echo __FUNCTION__; // test
}
test();
熱點內容
安卓俄羅斯方塊源碼 發布:2025-07-07 21:56:11 瀏覽:473
安卓手機之王是哪個手機 發布:2025-07-07 21:44:30 瀏覽:613
安卓照片存儲位置 發布:2025-07-07 21:31:58 瀏覽:964
kingcmsphp 發布:2025-07-07 21:31:49 瀏覽:392
微信的鎖屏密碼是什麼 發布:2025-07-07 21:28:52 瀏覽:757
樹莓派自帶ftp開啟 發布:2025-07-07 21:11:41 瀏覽:51
智慧樹用腳本會怎麼樣 發布:2025-07-07 21:05:48 瀏覽:516
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:536
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:32
linux485 發布:2025-07-05 14:38:28 瀏覽:310