Viewing file: Basic.php (5.15 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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_Tool * @subpackage Framework * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id: Basic.php 18951 2009-11-12 16:26:19Z alexander $ */
/** * @see Zend_Tool_Framework_Metadata_Interface */ require_once 'Zend/Tool/Framework/Metadata/Interface.php';
/** * @category Zend * @package Zend_Tool * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Tool_Framework_Metadata_Basic implements Zend_Tool_Framework_Metadata_Interface {
/**#@+ * Search constants */ const ATTRIBUTES_ALL = 'attributesAll'; const ATTRIBUTES_NO_PARENT = 'attributesParent'; /**#@-*/
/**#@+ * @var string */ protected $_type = 'Basic'; protected $_name = null; protected $_value = null; /**#@-*/
/** * @var mixed */ protected $_reference = null;
/** * Constructor - allows for the setting of options * * @param array $options */ public function __construct(Array $options = array()) { if ($options) { $this->setOptions($options); } }
/** * setOptions() - standard issue implementation, this will set any * options that are supported via a set method. * * @param array $options * @return Zend_Tool_Framework_Metadata_Basic */ public function setOptions(Array $options) { foreach ($options as $optionName => $optionValue) { $setMethod = 'set' . $optionName; if (method_exists($this, $setMethod)) { $this->{$setMethod}($optionValue); } }
return $this; }
/** * getType() * * @return string */ public function getType() { return $this->_type; }
/** * setType() * * @param string $type * @return Zend_Tool_Framework_Metadata_Basic */ public function setType($type) { $this->_type = $type; return $this; }
/** * getName() * * @return string */ public function getName() { return $this->_name; }
/** * setName() * * @param string $name * @return Zend_Tool_Framework_Metadata_Basic */ public function setName($name) { $this->_name = $name; return $this; }
/** * getValue() * * @return mixed */ public function getValue() { return $this->_value; }
/** * setValue() * * @param unknown_type $Value * @return Zend_Tool_Framework_Metadata_Basic */ public function setValue($value) { $this->_value = $value; return $this; }
/** * setReference() * * @param mixed $reference * @return Zend_Tool_Framework_Metadata_Basic */ public function setReference($reference) { $this->_reference = $reference; return $this; }
/** * getReference() * * @return mixed */ public function getReference() { return $this->_reference; }
/** * getAttributes() - this will retrieve any attributes of this object that exist as properties * This is most useful for printing metadata. * * @param const $type * @return array */ public function getAttributes($type = self::ATTRIBUTES_ALL, $stringRepresentationOfNonScalars = false) { $thisReflection = new ReflectionObject($this);
$metadataPairValues = array();
foreach (get_object_vars($this) as $varName => $varValue) { if ($type == self::ATTRIBUTES_NO_PARENT && ($thisReflection->getProperty($varName)->getDeclaringClass()->getName() == 'Zend_Tool_Framework_Metadata_Basic')) { continue; }
if ($stringRepresentationOfNonScalars) {
if (is_object($varValue)) { $varValue = '(object)'; }
if (is_null($varValue)) { $varValue = '(null)'; }
}
$metadataPairValues[ltrim($varName, '_')] = $varValue; }
return $metadataPairValues; }
/** * __toString() - string representation of this object * * @return string */ public function __toString() { return 'Type: ' . $this->_type . ', Name: ' . $this->_name . ', Value: ' . (is_array($this->_value) ? http_build_query($this->_value) : (string) $this->_value); } }
|