1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2013 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;
- }
- }
|