Задать вопрос

Какая на сегодняшний день лучшая библиотека для работы с SOAP в PHP?

Вводные требования хотелки (критерии "лучшести"):
1) Современная библиотека (PSR, тесты). Не обязательно популярная и полнофункциональная, нужен нормальный архитектурный задел
2) Прозрачная генерация WSDL из классов
3) Удобный механизм приведения генерируемого WSDL к нужному виду (типы данных, комплексные типы), например, через аннотации или конфигурацию
4) Приведение входящих параметров к заданному типу, согласно п.3
5) Нет привязки к какому-либо фреймворку

Для реализации SOAP протокола (как клиентской, так и серверной части) в PHP рассматривал следующие варианты:
1) Zend-SOAP - имеющийся AutoDiscover (генератор WSDL) работает довольно паршиво, адаптировать малореально, нужно рядом свою реализацию писать.
2) BeSimple SOAP - самый интересный функционал сконцентрирован в symfony-бандле, общая сумбурность кода.

Прежде чем писать свою реализацию или глубоко переделывать существующую, хочется понять, ничего ли я не упустил в рассмотренных решениях?
  • Вопрос задан
  • 907 просмотров
Подписаться 3 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
nitso
@nitso Автор вопроса
После продолжительных изысканий реализовали собственную обертку над Zend/Soap.

Общие соображения следующие:

  • WSDL поддерживаем (пишем, редактируем) руками. Проще зафиксировать требуемый формат в wsdl, чем описывать его где-то вне (аннотации, конфиги или т.п.)
  • обертка выполняет приведение типов как входящих, так и исходящих параметров. Используется TypeHinting + аннотации


Надеюсь, в ближайшем будущем выложим в open-source.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽