>  기사  >  백엔드 개발  >  [PHP] 클래스 이름을 얻고 싱글톤 모드를 구현하는 여러 가지 방법

[PHP] 클래스 이름을 얻고 싱글톤 모드를 구현하는 여러 가지 방법

little bottle
little bottle원래의
2019-04-23 09:46:122864검색

오늘 편집자는 PHP를 사용하여 클래스 이름을 얻고 싱글톤 모드를 구현하는 방법을 배우도록 안내합니다. 관심 있는 친구들은 이에 대해 배울 수 있습니다.

클래스 이름을 가져오는 여러 가지 방법

1.__CLASS__: 현재 클래스 이름 가져오기

2.get_class(): 객체의 클래스 이름 반환

3.get_call_class(): Late Static Binding ("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] 클래스 이름을 얻고 싱글톤 모드를 구현하는 여러 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.