]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - vendor/wikimedia/remex-html/RemexHtml/PropGuard.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / wikimedia / remex-html / RemexHtml / PropGuard.php
1 <?php
2
3 namespace RemexHtml;
4
5 /**
6  * This is a statically configurable mechanism for preventing the setting of
7  * undeclared properties on objects. The point of it is to detect programmer
8  * errors.
9  */
10 class PropGuard {
11         public static $armed = true;
12
13         public static function set( $obj, $name, $value ) {
14                 if ( self::$armed ) {
15                         throw new \Exception( "Property \"$name\" on object of class " . get_class( $obj ) .
16                                 " is undeclared" );
17                 } else {
18                         $obj->$name = $value;
19                 }
20         }
21 }