Какой класс Вы бы выбрали?
1.
manyrus (11.05.2011 / 19:20)
Интересно ваше мнение:
1)
http://pastebin.com/QJcdt7nX
2)
http://pastebin.com/jxbhN99H
Пожалуйста, комментируйте.
2.
Михаил (11.05.2011 / 19:23)
Для чего классы использовать планируется?
3.
manyrus (11.05.2011 / 19:26)
Парсинг xml/ini файлов в массив
4.
Алексей (11.05.2011 / 19:43)
тебе недостаточно
http://fr.php.net/manual/en/book.simplexml.php ?
5.
orel (11.05.2011 / 19:50)
Дело не в том ,что есть более простые пути, а именно в том какой класс лучше!
6.
manyrus (11.05.2011 / 19:51)
4.
МегабиТ, это вообще здесь не причём
Просто выберите, какую структуру кода Вы бы использовали. И да, ответ аргументируйте.
7.
Алексей (11.05.2011 / 20:05)
manyrus (11 Мая 2011 / 19:51)
4. МегабиТ, это вообще здесь не причём Просто выберите, какую структуру кода Вы бы использовали. И да, ответ аргументируйте.
непричем? парсинг хмл файла не причем?
Добавлено через 01:00 сек.
также и на ини файлы есть своё решение в пхп
http://www.php.net/manual/en/function.parse-ini-file.php , нужен массив? оно вернет массив
Добавлено через 01:40 сек.
нафиг громоздить
8.
orel (11.05.2011 / 20:08)
Это мы знаем.Стандартные функции работы с xml и ini.Нужно выбрать класс который на ваш взгляд лучше.
9.
manyrus (11.05.2011 / 20:13)
7.
МегабиТ, кто тут тормозит?
Откройте классы и посмотрите. Столько шума развели.
10.
Алексей (11.05.2011 / 20:15)
manyrus (11 Мая 2011 / 20:13)
7. МегабиТ, кто тут тормозит? Откройте классы и посмотрите. Столько шума развели.
не лучший вариант с парсингом хмл, зачем писать обертку на уже существующие вещи?
11.
manyrus (11.05.2011 / 20:17)
10.
МегабиТ, ну что Вы, извините меня, тупите. Я просто хочу, чтобы Вы выбрали, какая реализация лучше. И дело тут совсем не в парсинге, а в проектировании.
12.
Алексей (11.05.2011 / 20:20)
manyrus (11 Мая 2011 / 20:17)
10. МегабиТ, ну что Вы, извините меня, тупите. Я просто хочу, чтобы Вы выбрали, какая реализация лучше. И дело тут совсем не в парсинге, а в проектировании.
:X первая, если вам легче
13.
manyrus (11.05.2011 / 20:28)
12.
МегабиТ, аргументируйте
14.
Ant0ha (15.05.2011 / 10:37)
Первый простой и без выпендрежа)
Второй более правильный, но раздутый... Имхо, по этой причине ZF такой огромный и тормозной, зато грамотный).
Оба класса, по сути, выполняют одинаковые действия и в использовании особой разницы не заметишь. Выбирать, имхо, нужно будет исходя из конкретной ситуации...
15.
Ant0ha (15.05.2011 / 10:54)
Я бы вообще во втором варианте сделал бы так:
1. Сделал бы класс-фабрику Parse
2. Сделал бы интерфейс драйверов с методами (parseString(), parseFile() и тд)
3. Добавлял бы драйвера для xml, json, ini и т.д.
Parse/
-- Interface.php (class Parse_Interface)
-- Xml.php (class Parse_Xml)
-- Ini.php (class Parse_Ini)
-- Json.php (class Parse_Json)
Parse.php (class Parse)
Инициализация:
$parse = Parse::factory('xml');
$data = $parse->parseFile('test.xml');
В Parse::factory() идет инициализация драйвера и его проверка на принадлежность к Parse_Interface
Добавлено через 03:08 сек.
тут мы вообще избавляемся от хард кода, который портит всю малину)
switch ($type) {
case Parse::INI :
return new ParseIniFile();
break;
case Parse::XML :
return new ParseXmlFile();
break;
case Parse::JSON :
return new ParseJsonFile();
break;
}
Просто добавляем/убираем файл драйвера.
URL:
https://visavi.net/topics/21444