更新时间:2022-09-23 05:54:21
大家好,小勉来为大家解答以上的问题。方法存在这个很多人还不知道,现在让我们一起来看看吧!
1、__tostatic() ? __static() 吧~method_exists 第一个参数,可以使用 instance object ,也可以直接传入 classname 不需要实例化。
2、不过没有办法判断是否为 static 方法,也没有办法判断 private/protected/public 访问级别(某些老版本的 PHP 是可以的)。
3、你可以反射一下:[php]function has_static_method($className, $methodName) {? ? $ref = new ReflectionClass($className);? ? if ($ref->hasMethod($methodName) and $ref->getMethod($methodName)->isStatic()) {? ?? ???return true;? ? }}[/php]第一个问题:打个比喻~你在百度知道获得了答案,你朋友问你问题,相同的话你是来百度知道再提想问还是把答案直接给他!第二个问题,你的构造方法是私有,你去外部实例化你就知道了,看手册的访问控制去!你还有,你不实例,你返回的静态属性是个什么?null啊!其实这是一个很好的设计模式(单例)这个可以,但需要先实例化成对象,才能进行检测,有没有直接用类名就可以检测的方法听说6有这个啦,但是现在还用不了我用的是5。
本文到此分享完毕,希望对大家有所帮助。