Source of file Constant.php
Size: 2,144 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Config/Processor/Constant.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Config\Processor; class Constant extends Token implements ProcessorInterface { /** * Replace only user-defined tokens * * @var bool */ protected $userOnly = true; /** * Constant Processor walks through a Config structure and replaces all * PHP constants with their respective values * * @param bool $userOnly True to process only user-defined constants, false to process all PHP constants * @param string $prefix Optional prefix * @param string $suffix Optional suffix * @return \Zend\Config\Processor\Constant */ public function __construct($userOnly = true, $prefix = '', $suffix = '') { $this->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'] : array(); $this->setTokens($constants); } else { $this->setTokens(get_defined_constants()); } } /** * Get current token registry. * @return array */ public function getTokens() { return $this->tokens; } } |