diff options
Diffstat (limited to 'library/vendor/Zend/View/Helper/DeclareVars.php')
-rw-r--r-- | library/vendor/Zend/View/Helper/DeclareVars.php | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/library/vendor/Zend/View/Helper/DeclareVars.php b/library/vendor/Zend/View/Helper/DeclareVars.php new file mode 100644 index 0000000..a6c0fcf --- /dev/null +++ b/library/vendor/Zend/View/Helper/DeclareVars.php @@ -0,0 +1,94 @@ +<?php +/** + * Zend Framework + * + * LICENSE + * + * This source file is subject to the new BSD license that is bundled + * with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://framework.zend.com/license/new-bsd + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@zend.com so we can send you a copy immediately. + * + * @category Zend + * @package Zend_View + * @subpackage Helper + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) + * @version $Id$ + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +/** Zend_View_Helper_Abstract.php */ + +/** + * Helper for declaring default values of template variables + * + * @package Zend_View + * @subpackage Helper + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +class Zend_View_Helper_DeclareVars extends Zend_View_Helper_Abstract +{ + /** + * The view object that created this helper object. + * @var Zend_View + */ + public $view; + + /** + * Declare template vars to set default values and avoid notices when using strictVars + * + * Primarily for use when using {@link Zend_View_Abstract::strictVars() Zend_View strictVars()}, + * this helper can be used to declare template variables that may or may + * not already be set in the view object, as well as to set default values. + * Arrays passed as arguments to the method will be used to set default + * values; otherwise, if the variable does not exist, it is set to an empty + * string. + * + * Usage: + * <code> + * $this->declareVars( + * 'varName1', + * 'varName2', + * array('varName3' => 'defaultValue', + * 'varName4' => array() + * ) + * ); + * </code> + * + * @param string|array variable number of arguments, all string names of variables to test + * @return void + */ + public function declareVars() + { + $args = func_get_args(); + foreach($args as $key) { + if (is_array($key)) { + foreach ($key as $name => $value) { + $this->_declareVar($name, $value); + } + } else if (!isset($view->$key)) { + $this->_declareVar($key); + } + } + } + + /** + * Set a view variable + * + * Checks to see if a $key is set in the view object; if not, sets it to $value. + * + * @param string $key + * @param string $value Defaults to an empty string + * @return void + */ + protected function _declareVar($key, $value = '') + { + if (!isset($this->view->$key)) { + $this->view->$key = $value; + } + } +} |