php - 是否可以创建私有的最终类字段?

时间:2018-02-03 13:08:28

标签: php oop

如何在php中创建不可变对象?

下一个例子当然不会起作用。

  final class Beer {
    private $volume;
    // can it be like
    // private final $volume;
    // ?

    public function __construct($volume)
    {
      $this->volume = $volume;
      print('<h1>Object created.</h1>');
    }
  }

  $instance = new Beer(1)

1 个答案:

答案 0 :(得分:1)

在php7.1上,您可以使用访问修饰符(公共,私有或受保护)定义您的类常量

final class Beer {

 const volume ='xxxxxxxx' ; 
    public function __construct($volume)
    {

      echo self::volume;
      print('<h1>Works!</h1>');
    }
  }

  $instance = new Beer(1)