setUserOnly($userOnly); $this->setPrefix($prefix); $this->setSuffix($suffix); $this->loadConstants(); } /** * @return bool */ public function getUserOnly() { return $this->userOnly; } /** * Should we use only user-defined constants? * * @param bool $userOnly * @return Constant */ public function setUserOnly($userOnly) { $this->userOnly = (bool) $userOnly; return $this; } /** * Load all currently defined constants into parser. * * @return void */ public function loadConstants() { if ($this->userOnly) { $constants = get_defined_constants(true); $constants = isset($constants['user']) ? $constants['user'] : []; $this->setTokens($constants); } else { $this->setTokens(get_defined_constants()); } } /** * Get current token registry. * @return array */ public function getTokens() { return $this->tokens; } }