скучаете на зимних каникулах?

Santiago

Новичок
tony2001
Тони, можешь рассказать немного про сам процесс разаработки экстеншена и его отладки? А то, видимо, есть у меня некие трудности с этим. Точнее, наверное, с пониманием самого процесса...

Допустим, мы определились с функциями, которые реализуем в 1-ю очередь. Затем, приступаем к реализации их в upnp.c. Допустим, написали функцию. Чтобы проверить ее работоспособность в php, заново делаем make? И затем пишем тестовый скрипт php я вызов этой функции? Или нужно что-то еще?

ЗЫ Что-то много вопросов... Но я ньюб в разработке экстеншенов, учусь ;)
 

Develar

Новичок
Santiago
А ты читал http://phpclub.ru/talk/showthread.php?s=&threadid=105661&rand=22 ? Насколько я убедился, писать расширения PHP очень легко, ничуть не сложнее, чем скрипт PHP, в случае любых вопросов grep и все.
Я делаю именно так как ты описал, только сначала пишем тесты http://qa.php.net/write-test.php в процессе написания тестов убеждаемся в правильности интерфейса, потом реализуем те вещи, что мы описали в тесте, make && make test
 

Santiago

Новичок
И года не прошло ;) Точнее, прошло больше.

В общем, какое-то время назад было принято решение вернуться к разработке модуля для libupnp Но т.к. разработка данной либы больще не поддерживается + она работает в мультитредовом режиме (что оказалось проблематично реализовать в php), то вместо нее был выбран фреймворк GUPnP (http://www.gupnp.org/), который работает в синглтредовом режиме и использует GLib для циклов, тем самым сохраняя асинронность вызовов без использования тредов.

Инфо:
"UPnP (Universal Plug and Play) — это архитектура одноранговых соединений между персональными компьютерами и интеллектуальными устройствами, установленными, например, дома. UPnP строится на основе стандартов и технологий интернета, таких как TCP/IP, HTTP и XML, и обеспечивает автоматическое подключение подобных устройств друг к другу и их совместную работу в сетевой среде, в результате чего сеть (например, домашняя) становится доступной большему числу людей."
Подробнее
тут http://ru.wikipedia.org/wiki/UPnP
и тут http://www.upnp.org/

Так что теперь, используя модуль gupnp для PHP, можно реализовать сервер и клиентов на всем любимом языке ;)
Если кому-то станет интересно, то сам модуль доступен в репозитории PECL'а
http://pecl.php.net/package/gupnp
Документация планируется в скором будущем ;)

Большое спасибо Тони за советы в разработке и ответы на, порой, глупые вопросы ;)
 
Сверху