case 'STRICT': return self::STRICT(); case 'SMART': return self::SMART(); case 'LENIENT': return self::LENIENT(); } throw new IllegalArgumentException(); } /** * @return string */ public function name() { switch ($this->ordinal) { case 0: return 'STRICT'; case 1: return 'SMART'; case 2: return 'LENIENT'; } return ''; } public function __toString() { return $this->name(); } } ResolverStyle::init();