| Current Path : /home/zieirix/www/libraries/rokcommon/RokCommon/Registry/Format/ |
| Current File : /home/zieirix/www/libraries/rokcommon/RokCommon/Registry/Format/PHP.php |
<?php
/**
* @version 3.2.9 April 1, 2020
* @author RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - 2020 RocketTheme, LLC
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*
* derived from JoomlaRTCacheDriver with original copyright and license
* @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access
defined('ROKCOMMON') or die;
/**
* PHP class format handler for RokCommon_Registry
*
* @package JoomlaRTCacheDriver.Framework
* @subpackage Registry
*/
class RokCommon_Registry_Format_PHP extends RokCommon_Registry_Format {
/**
* Converts an object into a php class string.
* - NOTE: Only one depth level is supported.
*
* @param object Data Source Object
* @param array Parameters used by the formatter
* @return string Config class formatted string
*/
public function objectToString($object, $params = array())
{
// Build the object variables string
$vars = '';
foreach (get_object_vars($object) as $k => $v) {
if (is_scalar($v)) {
$vars .= "\tpublic $". $k . " = '" . addcslashes($v, '\\\'') . "';\n";
} else if (is_array($v)) {
$vars .= "\tpublic $". $k . " = " . $this->_getArrayString($v) . ";\n";
}
}
$str = "<?php\nclass ".$params['class']." {\n";
$str .= $vars;
$str .= "}";
// Use the closing tag if it not set to false in parameters.
if (!isset($params['closingtag']) || $params['closingtag'] !== false) {
$str .= "\n?>";
}
return $str;
}
/**
* Placeholder method
*
* @return boolean True
*/
function stringToObject($data, $namespace='')
{
return true;
}
protected function _getArrayString($a)
{
$s = 'array(';
$i = 0;
foreach ($a as $k => $v) {
$s .= ($i) ? ', ' : '';
$s .= '"'.$k.'" => ';
if (is_array($v)) {
$s .= $this->_getArrayString($v);
} else {
$s .= '"'.addslashes($v).'"';
}
$i++;
}
$s .= ')';
return $s;
}
}