войти зарегистрироваться

PHPФункция конвертации stdClass в SimpleXml

Для одного личного проекта (да и давно просто хотелось попробовать) решил использовать в качестве шаблонизатора — XSLT. Все вроде бы чудесно: для xsl-преобразований требуется объект SimpleXml, из базы возвращается тоже объект, казалось бы в чем проблема, почему нельзя передавать объект из базы напрямую в шаблонизатор?

PHPПростейшая генерация odt файла из существующего — работа над ошибками

Всем свойственно ошибаться… но я считаю, что ошибки стоит исправлять.

Недавно обновился OpenOffice до версии 3.2 и я заметил, что генерируемые документы odt по-моему хабратопику открываются в нём с ошибками. Первой мыслью было то, что произошли какие-то кардинальные изменения в спецификации ODF 1.2. Но всё оказалось проще:
Спецификация ODF требует в начале zip архива несжатый файл mimetype. OpenOffice до версии 3.2 распознавал odt файлы и не соблюдающие этого требования, в новой же версии это обязательно.

Все испортил класс ZipArchive.

PHPПишем свой рейтинг популярных записей русскоязычных блогов на базе Яндекс.API, часть 1

Жил-был в составе поиска по блогам Яндекса рейтинг популярных записей, который для многих был такой себе ежедневной газеткой. Но решили в Яндексе его закрыть да предоставили API, чтобы каждый желающий мог сделать свой рейтинг популярных записей по блогам, чем мы собственно сегодня и займемся. Писать будем на PHP.

PHPПростейшая генерация odt файла из существующего

Как-то раз передо мной стояла задача реализовать генерацию договоров для клиентов с нашего корпоративного сайта.
Сначала задача была решена просто ужасно — был заготовлен html шаблон договора, а пользователю выдавалась конвертация шаблона в pdf. Само собой это выливалось в кучу неудобств, в том числе, если требовалось что-то поменять в договоре.

Следующим решением было генерация odt документа. Это позволило редактировать документ нашим менеджерам независимо от сайта и программистов.
Полностью генерировать с нуля смысла нет. Почему бы не поработать с уже имеющимся файлом (отредактированным в OpenOffice) и просто заменить в нем необходимые элементы?

Этим мы с вами и займемся.

Персональные блоги SimpleXML. Пример расширенного использования

Думаю многие пользователи уже знакомы с этим замечательным классом для обработки xml документов. В этой статье хочу привести несколько примеров использования, которых не нашел в официальной документации, но которые были бы полезны начинающим пользователям.

PHPПишем свой XML-парсер

Предыстория


Решив запустить небольшой сервис на подаренном мне хостинге, оказалось, что там нету ни одного xml-парсера: ни SimpleXML, ни DOMXML, а только libxml и xml-rpc. Недолго думая, я решил написать свой. Мне требовался разбор не сложных rss-лент, поэтому хватило достаточно просто класса xml => array.[1]

Но для интересной статьи этого было явно не достаточно, поэтому сейчас мы напишем свою замену для SimpleXML. А заодно пробежимся по многим интересным возможностям PHP 5.

Постановка задачи


Доступ к элементам у нас будет осуществляться как доступ к свойствам класса, например $xml->element, а доступ к атрибутам элемента, как к массиву, те $xml->element['attr'], также реализуем проверку на существование атрибута при помощи isset() и итерацию по элементам при помощи foreach. И так, начнем.