windows
tp5參考文件
新建乙個測試反射類 testreflection.php
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 16:29
* desc: 成功**於點滴 */
class
testreflection
public
function
add()
}
在新建 乙個類 test.php
public reflectionclass::__construct ( mixed$argument
)
publicfunction
index()
返回結果是
public static string reflectionclass::export ( mixed$argument
[, bool$return
= false ] )
publicfunction
index()
返回的結果是:
public mixed reflectionclass::getconstant ( string$name
)
獲取定義過的乙個常量。
在testreflection 新增乙個常量
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 16:29
* desc: 成功**於點滴 */
class
testreflection
public
function
add()
}
test.php
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 15:59
* desc: 成功**於點滴 */
class
test
}
返回的結果是
string(4) "wang"這裡如果常量不存在 則返回false
public array reflectionclass::getconstants ( void )
這裡的 getconstants 不要拼錯了。比上乙個方法多了乙個 s
獲取某個類的全部已定義的常量,不管可見性如何定義。
本函式還未編寫文件,僅有引數列表。
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 15:59
* desc: 成功**於點滴 */
class
test
}
返回的結果是
array(1)public reflectionmethod reflectionclass::getconstructor ( void )
獲取已反射的類的建構函式。
為了方便測試 這裡對映自身
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 15:59
* desc: 成功**於點滴 */
class
test
public
function
index()
}
返回的結果是
public array reflectionclass::getdefaultproperties ( void )
獲取類的預設屬性(包括了繼承的屬性)。
此函式沒有引數。
預設屬性的陣列,其鍵是屬性的名稱,其值是屬性的預設值或者在屬性沒有預設值時是null
。 這個函式不區分靜態和非靜態屬性,也不考慮可見性修飾符。
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 15:59
* desc: 成功**於點滴 */
/*** 反射測試類
* class test */
class test extends
par /**
* 測試入口
* @param int $id 沒有id
*/public
function
index()
}class
par
返回的結果是
array(5)public string reflectionclass::getdoccomment ( void )
從乙個類中獲取文件注釋。
warning
本函式還未編寫文件,僅有引數列表。
此函式沒有引數。
如果存在則返回文件注釋,否則返回false
。
<?php/*** user: [一秋]
* date: 2017-11-23
* time: 15:59
* desc: 成功**於點滴 */
/*** 反射測試類
* class test */
class test extends
par /**
* 測試入口
* @param int $id 沒有id
*/public
function
index()}/*
* * class par */
class
par
返回結果是
public int reflectionclass::getendline ( void )
從使用者定義的類獲取其最後一行的行數。
此函式沒有引數。
返回使用者定義的類最後一行的行數,如果未知則返回false
。
/** * 測試入口
* @param int $id 沒有id
*/public
function
index()
返回結果是
int(39)public reflectionextension reflectionclass::getextension ( void )
獲取已定義類的擴充套件的 reflectionextension 物件。
此函式沒有引數。
類所處的擴充套件的 reflectionextension 物件的表示,如果是使用者定義的類則返回null
。
/** * 測試入口
* @param int $id 沒有id
*/public
function
index()
返回的結果是
object(reflectionextension)#13 (1)public string reflectionclass::getextensionname ( void )
獲取定義的類所在的擴充套件的名稱。
此函式沒有引數。
獲取定義的類所在的擴充套件的名稱,如果是使用者定義的類,則返回false
。
publicfunction
index()
返回的結果是
string(10) "reflection"
php 反射類簡介
php反射 反射是操縱物件導向范型中元模型的api,其功能十分強大,可幫助我們構建複雜,可擴充套件的應用。其用途如 自動載入外掛程式,自動生成文件,甚至可用來擴充php語言。php反射api由若干類組成,可幫助我們用來訪問程式的元資料或者同相關的注釋互動。借助反射我們可以獲取諸如類實現了那些方法,建...
php 反射學習
早知道php 有反射的概念一直沒抽出空來。今天看書裡面有個這玩意 弄個例子搞搞。不過似乎專案中用處不大。印象中似乎就 thinkphp 3.1 裡面的 控制器呼叫使用了反射 class person public function set name value public function get...
php學習記錄六 原生php建立類
1 新建乙個類檔案ini class.php 2 在檔案裡建立個類,這裡我新建乙個查詢個人使用者資訊的類 類名為personal class personal or id result mysqli query link,query if result echo retjson 402,查詢使用者資...