如何相互调用php中静态方法和非静态方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
php中静态方法和非静态方法相互调用的方法:1、非静态方法调用静态方法: 可以【self】或者类名加【::】的形式调用;2、静态方法调用非静态方法:,在类中静态方法中,需要实例化对象,再调用类中的方法。
php中静态方法和非静态方法相互调用的方法:
静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法
非静态方法调用静态方法: 可以self
或者 类名加::
的形式调用
如下面的案例:
<?php class A{ public function noneStaticFun(){ echo __CLASS__." none static function<br/>"; } public static function staticFun(){ echo __CLASS__." static function<br/>"; //静态方法调用非静态方法,需要实例化对象然后再调用对象中的非静态方法 (new A())->noneStaticFun(); } public function testCallStaticFun(){ echo "call static function<br/>"; //调用本类的静态方法,使用 self关键字或者类名 self::staticFun(); //A::staticFun(); //也可以使用这种方式 //调用其它类的静态方法,直接使用类名::方法名的形式调用 B::myStaticFun(); } } class B{ public static function myStaticFun(){ echo __CLASS__." static function<br/>"; } } //演示 $testA = new A(); $testA->testCallStaticFun(); A::staticFun();
运行结果:
call static function A static function A none static function B static function A static function A none static function
关于如何相互调用php中静态方法和非静态方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。