# Reflection
Reflection用于反射管理,提供三種反射類型:
* ReflectionClass:反射類
* ReflectionFile:反射文件
* ReflectionFunction:反射函數
ReflectionClass可反射一個類的相關信息,使用方式:
~~~PHP
//實例化反射類
$reflectionClass = new ReflectionClass($className);
/**
* 獲取類文件名
* @return string
*/
$reflectionClass->getFileName();
/**
* 獲取類源代碼數組
* @return array|bool
*/
$reflectionClass->getSource();
/**
* 獲取反射類源代碼
* @param int $start_line 源碼起始行數
* @param int $end_line 源碼結束行數
* @param bool $show_line 是否顯示對應行號
* @return string
*/
$reflectionClass->getSourceCode(int $start_line = 0, int $end_line = 0, bool $show_line = false);
/**
* 獲取反射類開始行號
* @return int
*/
$reflectionClass->getStartLine();
/**
* 獲取反射類結束行號
* @return int
*/
$reflectionClass->getEndLine();
~~~
ReflectionFile可反射一個文件的相關信息,使用方式:
~~~PHP
//實例化反射類
$reflectionFile = new ReflectionFile($fileName);
/**
* 獲取反射文件的文件名
* @return string
*/
$reflectionFile->getFileName();
/**
* 獲取反射文件源碼數組
* @return array|bool
*/
$reflectionFile->getSource();
/**
* 獲取反射文件源碼
* @param int $start_line 源碼起始行數
* @param int $end_line 源碼結束行數
* @param bool $show_line 是否顯示對應行號
* @return string
*/
$reflectionFile->getSourceCode(int $start_line = 0, int $end_line = 0, bool $show_line = false);
/**
* 獲取反射文件開始行號
* @return int
*/
$reflectionFile->getStartLine();
/**
* 獲取反射文件結束行號
* @return int
*/
$reflectionFile->getEndLine();
~~~
ReflectionFunction可反射一個函數的相關信息,使用方式:
~~~PHP
//實例化反射類
$reflectionFunction = new ReflectionFunction($fileName);
/**
* 獲取反射函數文件名
* @return string
*/
$reflectionFunction->getFileName();
/**
* 獲取反射函數源碼數組
* @return array|bool
*/
$reflectionFunction->getSource();
/**
* 獲取反射函數源碼
* @param int $start_line 源碼起始行數
* @param int $end_line 源碼結束行數
* @param bool $show_line 是否顯示對應行號
* @return string
*/
$reflectionFunction->getSourceCode(int $start_line = 0, int $end_line = 0, bool $show_line = false);
/**
* 獲取反射函數開始行號
* @return int
*/
$reflectionFunction->getStartLine();
/**
* 獲取反射函數結束行號
* @return int
*/
$reflectionFunction->getEndLine();
~~~