🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` final Componere\Method { /* Constructor */ public __construct ( \Closure $closure ) -实例化 /* Methods */ public setPrivate ( void ) : Method - 修改方法为Private public setProtected ( void ) : Method - 修改方法为Protected public setStatic ( void ) : Method - 修改方法为静态方法 public getReflector ( void ) : \ReflectionMethod -返回ReflectionMethod类实例 具体参看反射章节 } ``` ``` /* * 动态定义一个类 */ $DefClass = new \Componere\Definition( 'Teacher'); // 用Method类扩展类的方法(默认public) $DefMethod = new Componere\Method(function( $param = null ) { echo '今天去了'.$param; } ); //将方法设置为Private //$DefMethod->setPrivate(); //将方法设置为Protected //$DefMethod->setProtected(); //将方法设置为静态方法 $DefMethod->setStatic(); $R=$DefMethod->getReflector(); var_dump($R); $DefClass->addMethod( 'go', $DefMethod ); // 注册类 $DefClass->register(); $people=new Teacher(); $people->go('上河街'); Teacher::go('上河街'); ``` 结果: ``` object(ReflectionMethod)#3 (2) { ["name"]=> string(8) "function" ["class"]=> string(0) "" } 今天去了上河街 今天去了上河街 ```