альтернатива темы http://xwab.mobi/forum/viewtopic.php?t=334 , но с применением ооп.
22 Фев 2011, 18:34Первый вопрос, как бы вы изменили этот код?
class parse {
/**
* constants of types
*/
const XML = 0;
const INI = 1;
/**
* @param SimpleXMLElement $xml
* @return array parsed xml
*/
private function simpleXmlToArray($xml) {
$array = $xml;
$newArray = array();
$array = (array) $array;
foreach ($array as $key => $value) {
$value = (array) $value;
if (isset($value [0])) {
$newArray [$key] = trim($value [0]);
} else {
if(!empty($array[$key])) {
$newArray [$key] = $this->simpleXmlToArray($value);
} else {
$newArray [$key] ='';
}
}
}
return $newArray;
}
/**
* @return string array parsed data
* @param string $file path to the file
* @param const $type constants of types
*/
public function parseFile($file,$type) {
switch ($type) {
case parse::INI :
return parse_ini_file($file);
break;
case parse::XML :
return $this->simpleXmlToArray(simplexml_load_file($file));
break;
}
}
/**
* @param string $str string data
* @param const $type constants of types
* @return array parsed data
*/
public function parseString($str,$type) {
switch ($type) {
case parse::INI :
return parse_ini_string($str);
break;
case parse::XML :
return $this->simpleXmlToArray(simplexml_load_string($str));
break;
}
}
}
кому лень смотреть такой код, есть с подсветкой - http://pastebin.com/ktKHCKwA
В 24 строке передаётся переменная неправильного типа. Я узнал это за примерно 10 секунд, благодаря подсказке PhpStorm
Пробуйте эту IDE, она сэкономит вам много времени, которое тратится на поиски ошибок.
редактор или я туплю?
Перезалил