#今日は、エディターが PHP を使用してクラス名を取得し、シングルトン モードを実装する方法を学習します。これには一定の参考価値があります。興味のある友人はそれについて学ぶことができます。 クラス名を取得するいくつかの方法1.__CLASS__: 現在のクラス名を取得します2.get_class(): オブジェクトのクラス名を返します
3.get_called_class(): 後期静的バインディング (「Late Static Binding」) クラスの名前、つまり、静的メソッド呼び出し元のクラス名
<?php class foo { static public function test() { echo "foo.__CLASS__:".__CLASS__."\n"; echo "foo.get_class:".get_class()."\n"; echo "foo.get_called_class:".get_called_class()."\n"; } } class bar extends foo { } foo::test(); echo "\n"; bar::test(); ?>
//结果 foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:foo foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:bar
<?php //通过get_called_class实现单例模式 class Singleton{ private static $instance; public static function getInstance() { //静态共有方法实例化对象 $class_name = get_called_class(); if (isset(self::$instance[$class_name])) { return self::$instance[$class_name]; } self::$instance[$class_name] = new $class_name; return self::$instance[$class_name]; } } ?>
以上が[PHP] クラス名を取得してシングルトン モードを実装するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。