PHP基础语法

发布 : 2018-09-23 分类 : PHP 浏览 :
  1. PHP final关键字
    类和方法能被定义为final.
  • 如果父类中的方法被声明为final, 则子类无法覆盖该方法.
  • 如果一个类被声明为final, 则不能被继承.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    # 单例模式
    <?php
    final class Singleton
    {
    private static $instance;

    public static function getInstance(): Singleton
    {
    if (null === static::$instance) {
    static::$instance = new static();
    }

    return static::$instance;
    }

    /**
    * 不允许从外部调用以防止创建多个实例
    * 要使用单例,必须通过 Singleton::getInstance() 方法获取实例
    */
    private function __construct()
    {
    }

    /**
    * 防止实例被克隆(这会创建实例的副本)
    * @return [type] [description]
    */
    private function __clone()
    {
    }

    /**
    * 防止反序列化(这将创建他的副本)
    */
    private function __wakeup()
    {
    }
    }
本文作者 : Xuebin Zhang
原文链接 : https://capping.github.io/2018/09/23/php-basic-syntax/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹