分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
php具有完整的反射api,可以對類、介面、函式、方法和擴充套件進行反向工程。反射api並提供方法取出函式、類和方法中的文件注釋。本文將介紹使用php反射api獲取類資訊的方法,提供完整演示**。
$ref = new reflectionclass($classname);echo
$ref->getname();echo
$ref->getfilename();
$ref = new reflectionclass($classname);$properties = $ref->getproperties();foreach($properties
as$property)
$ref = new reflectionclass($classname);$methods = $ref->getmethods();foreach($methods
as$method)
$ref = new reflectionclass($classname);$inte***ces = $ref->getinte***ces();foreach($inte***ces
as$inte***ce)
user.class.php
<?php /** 使用者介面 */inte***ce iuser/** 使用者類 */class user implements iuser /** * 讀取使用者資料 *@param int $id 使用者id *@return array */
public function get($id)else }}/** vip使用者類 */class vip extends user return $data; } /** * 修飾資料 *@param array $data 使用者資料 *@return array */
private function format($data)}?>
ref.class.php
<?php
/** * 呼叫php反射類獲取類資訊 * date: 2017-05-24 * author: fdipzone * ver: 1.0 * * func * public static setclass 設定反射類 * public static getbase 讀取類基本資訊 * public static getinte***ces 讀取類介面 * public static getproperties 讀取類屬性 * public static getmethods 讀取類方法 */
class
ref // 讀取類基本資訊
public
static
function
getbase
() // 讀取類介面
public
static
function
getinte***ces
() } } // 讀取類屬性
public
static
function
getproperties
() } } // 讀取類方法
public
static
function
getmethods
() } echo
'method comments: '.self::formatcomment($method->getdoccomment()).php_eol.php_eol; } } } // 獲取修飾符
private
static
function
getmodifier
($o) // protected
if($o->isprotected()) // private
if($o->isprivate()) return
''; } // 格式化注釋內容
private
static
function
formatcomment
($comment)}?>
<?phprequire
'ref.class.php';require
'user.class.php';echo '';ref::setclass('vip');ref::getbase();ref::getproperties();ref::getmethods();ref::getinte***ces();echo '
';?>
base infoclass name: vipclass path: /home/fdipzone/refclass filename: user.class.phpproperties infoproperty name: userproperty modifier: protected
property comments: 使用者資料methods infomethod
name: getvipmethod
modifier:
public
method
params
num:
1param name:idmethod
comments: 讀取vip使用者資料method
name: formatmethod
modifier:
private
method
params
num:
1param name:datamethod
comments: 修飾資料method
name:
addmethod
modifier:
public
method
params
num:
1param name:datamethod
comments: 新增使用者method
name: getmethod
modifier:
public
method
params
num:
1param name:idmethod
comments: 讀取使用者資料inte***ces infointe***ce name: iuser
給我老師的人工智慧教程打call!
利用API函式獲取系統資訊
我們所編寫的每乙個程式,都會有乙個執行環境的最低需求。如何獲取使用者機器的配置資訊呢?其實,我們可以利用api函式輕鬆實現。我們利用visual c 嚮導生成乙個單文件介面的視窗程式框架。生成乙個新的對話方塊,這個對話方塊用於顯示我們所取得的機器的配置資訊。為這個對話方塊生成乙個新類,命名為csys...
檢視類的相關資訊 PHP函式,非反射API
基類 class product 繼承基類的類 class gift extends product 操作類,檢視對應的類的資訊 class shopcar 獲取對應 物件 的 類 public function showclass instanceof 能根據繼承樹往上找,而 get class ...
利用反射api查詢乙個類的具體資訊
講到這個例項,首先介紹下本人,我是乙個php程式猿。從事drupal開發2年多。能夠說從實習開始就接觸這個,至今沒有換過。drupal給我的感覺是倆字 強大 今天寫乙個views的字段。然後須要繼承views的views handler field類,還要自己實現裡面的一些方法,走一些自己的配置設定...