Yii фреймворк: создание XML-RPC сервера

24 декабря, 2011
yii xml rpc

На мой взгляд, XML-RPC протокол является одним из наиболее удобных способов передачи данных между Интернет-ресурсами. Можно, конечно, поспорить, но на изучение XML-RPC требуется минимальное количество времени, есть множество готовых библиотек, да и используется он очень широко. Поэтому я никогда не понимал, почему разработчики отличного фреймворка Yii решили не включать библиотеку для работы с XML-RPC в дистрибутив. Хотя, возможно, это вопрос времени :)

Тем не менее, работать нужно уже сейчас, и в этой статье мы разберём, как решить проблему с помощью сторонних библиотек.

Примечание. Если вас интересует создание XML-RPC клиента, почитайте статью XML-RPC и Yii фреймворк.

Немного теории.

Мы можем использовать два основных подхода при создании XML-RPC сервера.

1) Отдельный скрипт. В этом случае создаём файл с именем вроде xmlrpc.php и помещаем его в корень сайта. В нём будет находиться код обработки XML-RPC запросов. Такой подход используется, например, в WordPress. Достоинство в том, что вам не нужно вносить никаких изменений в код вашего проекта, т.е. XML-RPC интерфейс получается независимым. С другой стороны, независимость приводит к тому, что вам будет гораздо сложнее работать со встроенными библиотеками фреймворка.

2) Использование действий контроллера. Этот вариант гораздо интереснее. Во-первых, вы автоматически получаете доступ ко всем возможностям Yii. Во-вторых, в этом случае XML-RPC методы можно разделить по модулям. Т.е. подключение / отключение модуля будет автоматически подключать / отключать соответствующие XML-RPC методы.
Читать дальше »

Опубликовано в PHP, Web разработка, Yii | Комментариев нет »

WordPress: публикация постов с помощью XML-RPC с поддержкой таксономий

11 октября, 2011
wordpress xml-rpc publish

WordPress на сегодняшний день является одой из самых популярных CMS и последнее время активно развивается. Но, к сожалению, это развитие не всегда получается гармоничным.

Одной из возможностей, которая почему-то по возможностям постоянно отстаёт от остальной части движка, является XML-RPC. На сегодняшний день этот протокол является основным средством удалённой публикации постов. И, при этом, он фактически бесполезен если вы используете произвольные типы записей (custom post types) и таксономии (custom taxonomies). Ни один XML-RPC метод публикации постов в WP 3.2.1 их не поддерживает.

Конечно, можно надеятся, что в будущих версиях ситуация изменится в лучшую сторону, но ничто не мешает добавить нужные методы прямо сейчас.

Рассмотрим небольшой пример.
Читать дальше »

Опубликовано в PHP, Web разработка, WordPress | Комментарии (8) »

HTML5: загрузка файлов с помощью Drag & Drop

21 июля, 2011
html5 drag&drop upload

Приветствую всех!

В этой статье хочу рассказать о нескольких своих экспериментах с HTML5. Начну издалека. Всем нам периодически приходится работать с различными web интерфейсами и часто возникает ощущение, что эта работа могла бы быть организована более эффективно.

Возможно, в каких-то случаях виноваты разработчики сервиса, но часто проблема заключается в ограничениях, которые накладывают браузеры. Рассмотрим загрузку файлов на сервер. В большинстве случаев вам предложат стандартное поле с кнопкой выбора файла с вашего компьютера и/или поле, в котором можно указать URL файла, размещенного где-нибудь в Сети.

Загрузку файлов с локального компьютера трогать пока не будем, я планирую опубликовать отдельный пост на эту тему, разберем загрузку с удалённого сервера.

Проблемы начинаются с первого же шага. Даже если вы четко понимаете, где искать URL и хорошо умеете пользоваться инструментами вроде firebug, то всё равно потребуется несколько кликов мышкой чтобы получить нужный адрес. Было бы гораздо удобнее просто перетянуть нужную картинку из одного окна браузера в другое.
Читать дальше »

Опубликовано в Ajax, HTML, JavaScript, PHP, Web разработка | Комментарии (9) »

Список докладов и финальная регистрация ZFConf 2011 — второй российской конференции по Zend Framework

6 мая, 2011
zfconf 2011

Основные подготовительные работы по конференции закончены. Доклады сформированы. Среди спикеров представители KnpLabs, Magento, JetBrains, Sphinx и других известных компаний.

Открыта финальная регистрация!

Если Вы проходили предварительную регистрацию, то для прохождения финальной регистрации Вам нужно перейти по специальной ссылке, отправленной на e-mail. Введенную ранее информацию нужно будет только подтвердить. Если ссылка не приходила Вам, ее можно запросить через специальную форму.

Пожалуйста, обратите внимание на то, что изменилось место проведения! Мероприятие будет проходить на прошлогодней площадке — в актовом зале ЛГТЦ (Ленгипротранс-Центр), по адресу: Московский пр., 143, ст. м. «Электросила». Кофе-брейки и обсуждения на флипчартах будут проходить в фойе.

Cписок докладов:
Читать дальше »

Опубликовано в PHP, Разное | Комментариев нет »

WordPress: вывод записей произвольных типов (Custom Post Types)

13 марта, 2011
wordpress custom queries

На сегодняшний день движок WordPress довольно интенсивно развивается. Во всяком случае изменения в версиях с 2.8 по 3.1 добавляют WP возможности полноценных CMS. Большинство из этих возможностей должны быть активированы на уровне темы (или плагина), поэтому сразу после установки WP вы работаете с ним как с обычным блоговым движком.

Вроде бы все правильно. Если какие-то возможности вам не нужны, вы их не используете. Но при этом возникает серьёзная проблема с документацией. Дело в том, большинство примеров и в Кодексе, и в других источниках, ориентированы на самый простой случай – дефолтную инсталляцию WP. Как только вы активируете дополнительные возможности ко многим рекомендациям нужно относится очень аккуратно.

Об одном из таких примеров я хочу рассказать в этой статье.
Читать дальше »

Опубликовано в PHP, Web разработка, WordPress | Комментарии (15) »

Управление контентом в WordPress CMS: ситуация на сегодня и ближайшая перспектива

19 февраля, 2011
wp cms

Приветствую всех! В этот раз поговорим о нынешних и будущих возможностях одного из самых популярных блоговых движков – WordPress. И заодно обсудим, корректно ли вообще называть его «блоговым».

Сразу хочу предупредить, что здесь не будет готовых рекомендаций о том «как правильно делать сайты», просто обсуждение основных возможностей движка, позволяющих работать с контентом, их достоинств и недостатков.

И ещё одно замечание. Под «работой с контентом» я имею в виду не работу редактора, который форматирует текст с помощью TinyMCE, а работу web мастера, т.е. группировку записей по определённым признакам, их индивидуальное оформление, создание страниц архивов, навигацию и т.п.

Начнем с возможностей, которые предоставляет последний стабильный релиз WordPress (на данный момент это версия 3.0.5).
Читать дальше »

Опубликовано в PHP, Web разработка, WordPress | Комментарии (19) »

Индивидуальное оформление виджетов для WordPress

30 ноября, 2010
wordpress widget styling

Последнее время мне довольно часто приходится заниматься разработкой виджетов для WordPress и иногда возникают ситуации, когда стандартных возможностей движка не хватает.

Сегодня я хочу показать прием, который позволяет назначить виджетам (которые находятся внутри одного сайдбара) индивидуальные CSS стили.

Прежде всего, разберемся, о каких именно стилях идет речь.

Вообще содержимое виджета и его разметка определяются разработчиком. Но для того, чтобы виджеты красиво вписывались в дизайн темы предусмотрены 4 параметра, которые должны использовать разработчики виджетов (по крайней мере в теории :) ).

Эти параметры задаются разработчиком темы при создании сайдбара. Например, так:
Читать дальше »

Опубликовано в PHP, Web разработка, WordPress | Комментарии (8) »

Обновление WordPress плагина Terms Descriptions

24 ноября, 2010
wp terms descriptions logo

Приветствую!

Сегодня выложил очередное обновление WordPress плагина Terms Descriptions.

Для тех, кто слышит о нём впервые, кратко объясню его назначение. Он позволяет создавать списки терминов, назначать им ссылки, автоматически искать термины и преобразовывать их в ссылки в ваших записях. Подробнее можно почитать здесь.

Т.е. принцип довольно простой и поставленная задача решается в полном объеме. Но предусмотреть всё практически не возможно, и пользователи постоянно предлагают хорошие идеи.

Последнее усовершенствование предложил Андрей Х.

Читать дальше »

Опубликовано в PHP, Web разработка, WordPress | Комментарии (24) »

Конференции ZFConf Ukraine & MageConf

12 ноября, 2010

Приветствую всех читателей!

Сегодня хочу просто поделиться хорошей новостью.

27 ноября (суббота) в Киеве пройдет совместная конференция ZFConf Ukraine & MageConf.

Подобные мероприятия – это в любом случае хорошо, но данная конференция выгодно отличается от большинства. Участие в ней бесплатное.

Тут нужно отдать должное организаторам. Я не знаю как они уговаривали спонсоров и искали докладчиков, но, думаю, это было непросто ;)

Конференция будет длиться один день и пройдет в три потока: Zend Framework, PHP, Magento.

Доклады будут на следующие темы.
Читать дальше »

Опубликовано в PHP, Web разработка | Комментарии (5) »

WordPress плагин Terms Descriptions. Новая версия.

8 ноября, 2010
wp terms descriptions logo

Приветствую всех!

Я всё-таки собрался и доделал плагин Terms Descriptions :)

Изменений в новой версии не много, но об одном из них меня просили уже несколько раз.

Речь о поддержке словоформ, т.е. нескольких вариантов написания одного и того же термина.

Например, так яблоко|яблоки|яблок и т.д.

Разделять словоформы нужно с помощью символа |. При этом, каждый из вариантов написания может состоять из одного или нескольких слов. Например, жесткий диск|винчестер|HDD.
Читать дальше »

Опубликовано в PHP, WordPress | Комментарии (13) »