如何在 PHP 中创建最终变量?

vde*_*nne 5 php final php-7

我找不到,或者我的想法有误,但我需要创建一个无法更改的变量,例如只读,例如:

final $finalVar = 'extremely secret number'; // don't change

$finalVar = 'hacked...'; // THROW I GIANT BIG ERROR HERE !
Run Code Online (Sandbox Code Playgroud)

Mac*_*ity 2

private除了常量(如评论中提到的)之外,我能想到的唯一方法是使用带有变量的父子关系

class ParentC {
    private $var = 'bob';
}

class ChildC extends ParentC {
    public function setVar() {
         // Fatal error: Uncaught Error: Cannot access private property ParentC::$var
         echo parent::$var; 
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,有一种使用 Reflection 类的巧妙方法。但是,在大多数情况下,您无法private从子类中触及父变量