ホームページ  >  記事  >  バックエンド開発  >  PHPで静的メソッドから非静的メソッドを呼び出す方法

PHPで静的メソッドから非静的メソッドを呼び出す方法

王林
王林オリジナル
2020-11-03 14:13:173173ブラウズ

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();

実行結果:

call static function
A static function
A none static function
B static function
A static function
A none static function

関連する推奨事項: php トレーニング

以上がPHPで静的メソッドから非静的メソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。