Xwab
Форумыnavigate_nextПрограммирование на PHP

Рассудите какой класс лучше
Я бы взял
1 вариант: 66%
2 вариант: 33%
Опрошено: 3
Сообщения
Orel

Класс xml && ini парсер.
Класс 1. http://pastebin.com/QJcdt7nX
Класс 2. http://pastebin.com/3547feJV

Собственно вопрос какой из них лучше?

10 Май 2011, 18:45
manyrus

Только во 2 класс я ещё добавил парсер по url адресу и json: http://pastebin.com/jxbhN99H .
Я думаю, что первый класс будет тяжело модифицировать
добавлено спустя 26 секунд:
Да, пора мне в яву с таким кодом

10 Май 2011, 18:48
Orel

А я считаю что для обычного парсера xml && ini первый вариант самый раз.

10 Май 2011, 18:50
manyrus

А я гляжу в будущее и думаю, что моим классом будут пользоваться (а те кто будут пользоваться получат плюху в ide), его будут модифицировать

10 Май 2011, 18:52
Chip

Я считаю, что первый вариант.

10 Май 2011, 18:57
Orel

Ну да поэтому, из парсера получилось целое приложение.

10 Май 2011, 18:58
manyrus

Orel, не целое приложение, а обычные классы. Получилось громоздко из-за паттерна abstract factory.

10 Май 2011, 19:01
iceman12

Orel, ненужные какие-то переприсваивания:
$array = $xml;
 $array = (array) $array;

10 Май 2011, 19:02
wapmorgan

второй. Но фабрики можно было бы сделать как-то так (естественно, без лишних проверок)
class ParseFactory
{
function newParser($type, $arg)
{
$parser_class_name = self::getParserClassName($type);
return new $parser_class_name($arg);
}

}
Можно еще сделать второй аргумент массивом (array $args) и создавать объект парсера с помощью отражений.


И еще, используйте self!!!

10 Май 2011, 19:03
manyrus

Morgan, кстати, что-то типа этого хотел сделать. Только по-другому, минуту...
добавлено спустя 17 минут:
Morgan, хотя, нет... Мне не нравится  Придётся убрать константы. Тип передавать ввиде строки, что не надёжно. А вот аргумент можно  Это уже дело вкуса...
добавлено спустя 40 секунд:
iceman12, это я знаю, из php.net взял и не посмотрел

10 Май 2011, 19:33
Ответить на тему