php 如何读取代码的注释内容?

xiaoheigongsi 2017-06-21 06:55:01
场景:一般把常用的数据定义成常量枚举,可是发现php并没有枚举,所以用了常量,比如状态,一般有2种取值,表示删除和正常在用,因此需要统一定义这两个常量的取值,从而就出现一种情况,即如何知道这两个常量的意义,因为需要在后台把已经定义的常量显示到页面,由管理员统一查看,因此需要读取常量的注释,如图

...全文
402 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanshs 2017-06-22
  • 打赏
  • 举报
回复
引用 1 楼 qq_34494805 的回复:
楼主这个函数包装的好啊, 可以说下 怎么用吗 传的变量用在哪里了。咋用呀
可能截图没截到吧,187行后边还有内容
xiaoheigongsi 2017-06-22
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
使用reflectionclass

class test{

    /**
     * @param  String $str 字符串
     * @return String
     */
    function abc($str){
        return $str;
    }

}

$obj = new test;
$ref = new ReflectionClass($obj);
$methods = $ref->getMethods();
echo '<pre>';
if($methods){
    foreach($methods as $method){
        echo 'method name: '.$method->getName().PHP_EOL;
        echo 'method params num: '.$method->getNumberOfParameters().PHP_EOL;
        $params = $method->getParameters();
        if($params){
            foreach($params as $param){
                echo 'param name:'.$param->getName().PHP_EOL;
            }
        }
        echo 'method comments: '.$method->getDocComment().PHP_EOL.PHP_EOL;
    }
}
echo '</pre>';

method name: abc
method params num: 1
param name:str
method comments: /**
     * @param  String $str 字符串
     * @return String
     */

类的方法和属性都可以读取,常量读取不了
xiaoheigongsi 2017-06-22
  • 打赏
  • 举报
回复
类的方法和属性都可以读取,常量读取不了
natici 2017-06-22
  • 打赏
  • 举报
回复
引用 4 楼 tg626 的回复:
[quote=引用 2 楼 fdipzone 的回复:] 使用reflectionclass

class test{

    /**
     * @param  String $str 字符串
     * @return String
     */
    function abc($str){
        return $str;
    }

}

$obj = new test;
$ref = new ReflectionClass($obj);
$methods = $ref->getMethods();
echo '<pre>';
if($methods){
    foreach($methods as $method){
        echo 'method name: '.$method->getName().PHP_EOL;
        echo 'method params num: '.$method->getNumberOfParameters().PHP_EOL;
        $params = $method->getParameters();
        if($params){
            foreach($params as $param){
                echo 'param name:'.$param->getName().PHP_EOL;
            }
        }
        echo 'method comments: '.$method->getDocComment().PHP_EOL.PHP_EOL;
    }
}
echo '</pre>';

method name: abc
method params num: 1
param name:str
method comments: /**
     * @param  String $str 字符串
     * @return String
     */

类的方法和属性都可以读取,常量读取不了[/quote] 人家都已经抛砖引玉了,你就看看php手册嘛。 手册里面有一个方法:ReflectionClass::getConstants ,其他的我就不说了,看手册即可。
傲雪星枫 2017-06-21
  • 打赏
  • 举报
回复
使用reflectionclass

class test{

    /**
     * @param  String $str 字符串
     * @return String
     */
    function abc($str){
        return $str;
    }

}

$obj = new test;
$ref = new ReflectionClass($obj);
$methods = $ref->getMethods();
echo '<pre>';
if($methods){
    foreach($methods as $method){
        echo 'method name: '.$method->getName().PHP_EOL;
        echo 'method params num: '.$method->getNumberOfParameters().PHP_EOL;
        $params = $method->getParameters();
        if($params){
            foreach($params as $param){
                echo 'param name:'.$param->getName().PHP_EOL;
            }
        }
        echo 'method comments: '.$method->getDocComment().PHP_EOL.PHP_EOL;
    }
}
echo '</pre>';

method name: abc
method params num: 1
param name:str
method comments: /**
     * @param  String $str 字符串
     * @return String
     */

qq_34494805 2017-06-21
  • 打赏
  • 举报
回复
楼主这个函数包装的好啊, 可以说下 怎么用吗 传的变量用在哪里了。咋用呀

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧