diff options
Diffstat (limited to 'libs/Zend/Config/Writer/Array.php')
-rw-r--r-- | libs/Zend/Config/Writer/Array.php | 103 |
1 files changed, 13 insertions, 90 deletions
diff --git a/libs/Zend/Config/Writer/Array.php b/libs/Zend/Config/Writer/Array.php index dd880b010b..6e9b158997 100644 --- a/libs/Zend/Config/Writer/Array.php +++ b/libs/Zend/Config/Writer/Array.php @@ -14,119 +14,42 @@ * * @category Zend * @package Zend_Config - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: Array.php 16201 2009-06-21 18:51:15Z thomas $ + * @version $Id: Array.php 20096 2010-01-06 02:05:09Z bkarwin $ */ /** * @see Zend_Config_Writer */ -require_once 'Zend/Config/Writer.php'; +// require_once 'Zend/Config/Writer/FileAbstract.php'; /** * @category Zend * @package Zend_Config - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ -class Zend_Config_Writer_Array extends Zend_Config_Writer +class Zend_Config_Writer_Array extends Zend_Config_Writer_FileAbstract { /** - * Filename to write to + * Render a Zend_Config into a PHP Array config string. * - * @var string + * @since 1.10 + * @return string */ - protected $_filename = null; - - /** - * Wether to exclusively lock the file or not - * - * @var boolean - */ - protected $_exclusiveLock = false; - - /** - * Set the target filename - * - * @param string $filename - * @return Zend_Config_Writer_Array - */ - public function setFilename($filename) - { - $this->_filename = $filename; - - return $this; - } - - /** - * Set wether to exclusively lock the file or not - * - * @param boolean $exclusiveLock - * @return Zend_Config_Writer_Array - */ - public function setExclusiveLock($exclusiveLock) - { - $this->_exclusiveLock = $exclusiveLock; - - return $this; - } - - /** - * Defined by Zend_Config_Writer - * - * @param string $filename - * @param Zend_Config $config - * @param boolean $exclusiveLock - * @throws Zend_Config_Exception When filename was not set - * @throws Zend_Config_Exception When filename is not writable - * @return void - */ - public function write($filename = null, Zend_Config $config = null, $exclusiveLock = null) + public function render() { - if ($filename !== null) { - $this->setFilename($filename); - } - - if ($config !== null) { - $this->setConfig($config); - } - - if ($exclusiveLock !== null) { - $this->setExclusiveLock($exclusiveLock); - } - - if ($this->_filename === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No filename was set'); - } - - if ($this->_config === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No config was set'); - } - $data = $this->_config->toArray(); $sectionName = $this->_config->getSectionName(); - + if (is_string($sectionName)) { $data = array($sectionName => $data); } - + $arrayString = "<?php\n" . "return " . var_export($data, true) . ";\n"; - - $flags = 0; - - if ($this->_exclusiveLock) { - $flags |= LOCK_EX; - } - - $result = @file_put_contents($this->_filename, $arrayString, $flags); - - if ($result === false) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Could not write to file "' . $this->_filename . '"'); - } + + return $arrayString; } } |