- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
http://demos.uskoff.com/dome/
Вся информация пока только на английском.
Здесь на русском вкратце суть:
Существующие в PHP5 два класса (SimpleXML и DOMDocument) не устраивают меня по ряду причин. Основные из них - первый позволяет только читать и немного редактировать существующие документа, а второй, хоть и позволяет создавать их с нуля, имеет слишком низкоуровневый апи и код с его использованием очень громоздкий и малочитаемый.
По сей причине я решил сделать обертку для DOMDocument, которая взяла бы в себя все лучшее от SimpleXML и от js-фреймворка Prototype, сильной стороной которого всегда была работа с DOM.
Краткий список возможностей:
В общем для парсеров, для создания RSS, и для многих других целей самое то. Очень надеюсь что будете пользоваться, отзываться, комментировать, репортить баги и высказывать прочие пожелания.
Давайте так - вопросы здесь, а репорты и пожелания на me@uskoff.com. Что будет интересного - я буду выкладывать здесь.
Что-то PHPdoc блоки не информативны. Да и подобный стиль кода не поддерживаю.
{
$res=NULL;
Простите, но для чего это?
PHPDoc я еще собсно и не делал. Комменты поставил себе чтобы быстро искать.
В DOMDocument как бы нет встроенного xpath'а, нужно создавать объект DOMXPath и вызывать либо evaluate либо query в зависимости от того, что хотите получить.. Здесь же все сделано за вас. функция xpath определена и для экземпляра документа, и для экземпляра элемента (в этом случае запрос будет относительный), и сама определяет ожидаемое значение и вызывает нужный метод. Вопрос только в том, насколько точно =)
А про какой стиль кода вы говорите? Про сами функции или про способ их использования?
neolord добавил 25.09.2009 в 19:56
is_null - плох?
да нет, не вижу разницы просто. Хотя по идее функции is_* используются для проверки типа, а оператор === и типа и значения. В данном случае конечно все равно, просто мало ли я захочу дефолтное значение $root изменить =) Меньше править
Я в общем то не считаю что споры по исходному коду актуальны, мне больше интересно что вы думаете о конечном удобстве
Я о том, что в начале метода $res=NULL;
Как бы существуют стандарты оформления PHP кода.
К примеру скобки
А конструкция if ($this->root===NULL) равносильна if (is_null ($this->root))
Я о том, что в начале метода $res=NULL;
а что плохого в дефолтных значениях переменных? если я добавлю какие нибудь манипуляции кроме присваивания, будет E_NOTICE без этого
Как бы существуют стандарты оформления PHP кода.
Ну как бы мне на них с высокой колокольни. Еще раз уточню - код самого класса предназначен для меня и только для меня - я его делаю как мне удобней. Если бы это был не php, а си, вы бы даже не узнали что там у класса внутри. Оценивайте интерфейс а не реализацию.
А конструкция if ($this->root===NULL) равносильна if (is_null ($this->root))
Если я хочу чтобы root в начале был скажем не null а false, то в первой конструкции мне поменять 5 букв, а во второй убрать функцию, скобки, дописать равно и те же 5 букв. Давайте закроем тему сорцов.
Апдейт:
Добавлен шорткат для функции removeChild для вызова "цепочкой", а также я сделал пару показательных примерчиков, подчеркивающих удобство объектно-ориентированного подхода для решения задач парсинга
http://demos.uskoff.com/dome/doc/en/Solutions/
Чуть позже добавлю примеры того, как этот класс позволяет легко создавать различные фиды, типа RSS.
типа RSS позволяет удобно создавать вот эта штука, особенно она удобна при PHP IDE поддерживающей PHPDoc.
DudeFeed 0.1 Beta. Процессор новостных лент.
ну да, вроде ниче =) Хотя я предпочел бы использовать передачу одной записи в виде массива. Это например минимизировало бы код при выгрузке из базы через fetch_array/fetch_assoc
Я в общем то не пытаюсь конкурировать с твоими проектами =) Это исключительно вопрос предпочтений.
neolord, мне по***, я предпочитаю удобочитабельный вид + обработчики ошибок последнее время, поэтому и пишу такие классы. короче управляемый код - хорошо!