PHP では、静的メソッドは特別なタイプのメソッドであり、通常のメソッドとは大きく異なります。この記事では、PHPにおける静的メソッドの概念や使い方、注意点などを詳しく紹介します。
概念
PHP では、静的メソッドとは、オブジェクトをインスタンス化せずに呼び出すことができるメソッドを指します。平たく言えば、これはインスタンス化されたオブジェクトに対する操作ではなく、クラスに対する全体的な操作です。メソッドの前に static キーワード フラグを使用して、これが静的メソッドであることを PHP インタープリタに伝えます。
#使用方法静的メソッドを使用する場合は、いくつかの注意事項があります。class Example { public static function Func(){ echo "This is a static function!\n" } } Example::Func(); //Output: This is a static function!
class Example { public $name = "example"; public static function Func(){ echo "This is a static function! \n"; //不能使用$this //echo $this->name; //错误! } }
class Example { public static function Func(){ echo "This is a static function! \n"; //使用self引用类本身 echo "The class name is: ".self::class."\n"; } } class ChildExample extends Example { public static function Func() { //使用parent关键字引用父类 parent::Func(); //使用static关键字引用当前类 echo "The class name is: ".static::class."\n"; } } ChildExample::Func(); //Output: //This is a static function! //The class name is: Example //The class name is: ChildExample
#静的メソッドはオブジェクトをインスタンス化しないため、非静的プロパティにはアクセスできません:
class Example { public static function Func(){ echo "This is a static function in Example! \n"; } } class ChildExample extends Example { public static function Func() { echo "This is a static function in ChildExample! \n"; parent::Func(); } } ChildExample::Func(); //Output: //This is a static function in ChildExample! //This is a static function in Example!
以上がPHP の静的メソッドの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。