问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何判断类的静态方法是否存在? - 技术问答

发布网友 发布时间:2022-04-06 02:15

我来回答

5个回答

懂视网 时间:2022-04-06 06:37

【相关学习推荐:php图文教程】

php判断是否为静态方法的方法:

1、新建文件,创建一个类,并写一个静态方法,一个普通方法:

<?php
class Test
{
 public function wzl(){
 echo '我是一个普通方法<br>';
 
 }
 
 public static function cwh(){
 echo '我是一个静态方法<br>';
 
 }
 
}
$class = new Test();
$class->wzl();
$class::cwh();

2、使用浏览器访问文件,查看结果:

2fdfbfc6ceebec65600a1dc04426595.png

3、如果我们使用静态方法的访问形式访问普通方法

$class = new Test();
$class::wzl();

结果如下:

ae8600ea340a70873bc2fbdb1519d21.png

4、如果我们使用普通方法的访问形式访问静态方法

$class = new Test();
$class->cwh();

结果如下:

34107f039c6f4d1d1c27493484a7280.png

5、此外,通过映射也可以判断,编辑如下:

$rm = new ReflectionMethod('Test','wzl');
 
var_dump($rm->isStatic());
 
$rm2 = new ReflectionMethod('Test','cwh');
 
var_dump($rm2->isStatic());

e8a204801cc101e91a5d43f6fb898f9.png

相关学习推荐:php编程(视频)

热心网友 时间:2022-04-06 03:45

__tostatic() ? __static() 吧~method_exists 第一个参数,可以使用 instance object ,也可以直接传入 classname 不需要实例化。不过没有办法判断是否为 static 方法,也没有办法判断 private/protected/public 访问级别(某些老版本的 PHP 是可以的)。你可以反射一下:[php]function has_static_method($className, $methodName) {? ? $ref = new ReflectionClass($className);? ? if ($ref->hasMethod($methodName) and $ref->getMethod($methodName)->isStatic()) {? ?? ???return true;? ? }}[/php]

热心网友 时间:2022-04-06 05:03

这个可以,但需要先实例化成对象,才能进行检测,有没有直接用类名就可以检测的方法

热心网友 时间:2022-04-06 06:37

第一个问题:打个比喻~你在百度知道获得了答案,你朋友问你问题,相同的话你是来百度知道再提想问还是把答案直接给他!
第二个问题,你的构造方法是私有,你去外部实例化你就知道了,看手册的访问控制去!你还有,你不实例,你返回的静态属性是个什么?null啊!
其实这是一个很好的设计模式(单例)

热心网友 时间:2022-04-06 08:29

听说6有这个啦,但是现在还用不了我用的是5
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...有点像牙刷加大版 很久没用 毛毛里全是霉点 怎么去除呀。 是什么样的有机溶剂能把牙刷的毛除掉 如何让牙刷上的刷毛没了,我只想留牙刷柄 蛋仔派对2月兑换码有哪些-2月兑换码永久免费领取 ...因此导体串联后总电阻 ___;导体并联后相当于增加导体的... 两个定值电阻串联在一起的总电阻比任何一个分电阻都___,它的实质是相 ... 租房时需要哪些材料 苹果改密码时忘记了密码怎么办 点点卡通人物 求人给我找一个情侣头像,有图 php 查看一个变量是否是静态变量的函数是什么? 有什么方法,生成100个不重复的6位字符串 求一串完整的php代码+html php随机生成10位数字,而且永远不会重复,在一个单行文本框内输出 PHP 随机文字不重复 要从几十个之间随机让他显示8个 这8个彼此不重复 该怎么修改 以下代码能随机但是重复 php怎么生成6位的不重复的字符串 php html关于局部刷新验证码图片的问题 不同框架下 实现php验证码。。。 PHP刷新验证码问题 PHP验证码 实现点击刷新 用PHP技术制作验证码遇到的问题。 为什么我点一下验证码的“看不清换一张”时,页面的所有的内容都没有了呢?怎样才能留住它呢? 验证码看不清怎么用程序来实现 电脑系统登录时验证码只显示看不清换一张图怎么办? asp.net里的验证码怎么实现 “看不清换一张”是怎么实现的 登录图片看不清换另一张,如何用js实现 PHP 将输出时间转变为时间戳的问题 ThinkPHP 如何把获取到的日期格式的时间转化为时间戳 php 怎么把当前的日期转换成时间戳 PHP怎么判断终端是不是电脑访问 ThinkPHP中判断是手机端还是电脑端访问的方法 如何知道PHP是动态还是静态 怎样测试服务器是否支持PHP的伪静态? php面向对象中判断类中是否包含某个指定名称的静态方法 php如何判断用户是静态ip还是动态ip呢? 打开一个网页,怎么判断是动态的还是静态的呀? 如何判断网站是动态还是静态 php怎样查看虚拟主机是否支持伪静态? 把这个PHP 版本 修改为java 版本? 请问Java怎么获得当前时间戳,要int型的不要long的! 怎么把php AES128的代码转成java php时间戳转换 php 数组内容替换 php怎么替换数据库里面的内容 PHP 怎样替换数据库读取出来的数组??? php关于数组替换的问题! php数组替换的问题,求助!!!账号分少,略表心意! PHP如何封装方法 什么是php中的封装 php 函数封装 php网站怎么封装成exe