Rumah > pembangunan bahagian belakang > masalah PHP > php中静态方法怎么调用非静态方法

php中静态方法怎么调用非静态方法

王林
Lepaskan: 2023-03-07 06:40:02
asal
3402 orang telah melayarinya

php中静态方法调用非静态方法的办法:首先需要实例化对象;然后再调用对象中的非静态方法即可。非静态方法调用静态方法的办法:可以使用self关键字或者【类名::方法名】形式调用。

php中静态方法怎么调用非静态方法

静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法。

非静态方法调用静态方法: 可以self 或者 类名加::的形式调用。

(视频教程推荐:php视频教程

举例:

<?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();
Salin selepas log masuk

运行结果:

call static function
A static function
A none static function
B static function
A static function
A none static function
Salin selepas log masuk

相关推荐:php培训

Atas ialah kandungan terperinci php中静态方法怎么调用非静态方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan