此代码可以帮助您以数组格式获取 docBlock 的内容,从 @ 符号开始并忽略 (*) 星号。
class Home {
/**
*此方法加载主页
*@param int $id 用户 ID
*@throws \Exception 如果用户 ID 不存在
*@return void
*/
public function index( $id)
{
#...您的代码在这里
}
}
$object = new Home();
// 获取注释字符串
$comment_string= (new ReflectionClass($object))->getMethod('index')->getdoccomment();
// 定义要用于字符串匹配的正则表达式模式
$pattern = "#(@[a-zA-Z]+\s*[a-zA-Z0-9, ()_].*)#";
// 对提供的字符串执行正则表达式
preg_match_all($pattern, $comment_string, $matches, PREG_PATTERN_ORDER);
echo "<pre>"; print_r($matches);
// 这将输出
数组
(
[0] => 数组
(
[0] => @param int $id 用户 ID
[1] => @throws \Exception 如果用户 ID 不存在
[2] => @return void
)
[1] => 数组
(
[0] => @param int $id 用户 ID
[1] => @throws \Exception 如果用户 ID 不存在
[2] => @return void
)
)
// 然后您可以通过索引访问特定的字符串值