- Регистрация
- 1 Мар 2015
- Сообщения
- 16,046
- Баллы
- 155
api-platform
Сайт:
Очень мощное решение. Сделано на основе php-фреймворка Symfony. Есть всё что нужно и даже больше. Наверно, для тех кто любит программирование через конфигурации и Symfony, это то что нужно. Увы я не отношусь к этой категории.
apigility
Сайт:
Не менее мощное решение. На этот раз на основе фреймворка Zend. Это даже какая-то CMS для создания API, причём и RESTful и RPC. Наверно, для тех кто любит программирование с помощью мышки, это то что нужно. Увы я и к этой категории не отношусь.
Есть и другие решения, вот неплохая .
Но в итоге ничего милого моему сердцу выбрать не удалось. Зато удалось сформировать несколько принципов и требований к будущему проекту:
Моё решение
Америки я не открыл. Просто взял хорошие компоненты, собрал их вместе, написал весь необходимый boilerplate-код для работы и собрал composer проект.
Краеугольный камень — это стандарт представления . С помощью него решены почти все «холиварные» вопросы. Мне осталось только принять решение по формату запросов с фильтрацией, сортировкой и постраничной навигацией. За вывод отвечает пакет от neomerx (Кстати, не так давно он тоже собрал свой ).
В качестве основы я выбрал . Грамотно спроектированный, быстрый, легко расширяемый и простой.
Для работы с БД . Удобная, сравнительно быстрая и простая.
Работу с правами и контролем доступа построил на основе . На удивление простой пакет для работы с правами.
Авторизация на основе
Документацию генерирую по комментариям написанным в коде с помощью . Почему не Swagger? Пробовал и его, но мне apidoc понравился больше.
Код размещён на , проект доступен на .
Сайт:
Очень мощное решение. Сделано на основе php-фреймворка Symfony. Есть всё что нужно и даже больше. Наверно, для тех кто любит программирование через конфигурации и Symfony, это то что нужно. Увы я не отношусь к этой категории.
apigility
Сайт:
Не менее мощное решение. На этот раз на основе фреймворка Zend. Это даже какая-то CMS для создания API, причём и RESTful и RPC. Наверно, для тех кто любит программирование с помощью мышки, это то что нужно. Увы я и к этой категории не отношусь.
Есть и другие решения, вот неплохая .
Но в итоге ничего милого моему сердцу выбрать не удалось. Зато удалось сформировать несколько принципов и требований к будущему проекту:
- Код, а не аннотации и конфигурации
- Никаких UI
- Создание полностью готового API одной командой
- Автогенерация документации. Желательно по коду, а не из аннотаций
- Простота
- Минимум велосипедов
Моё решение
Америки я не открыл. Просто взял хорошие компоненты, собрал их вместе, написал весь необходимый boilerplate-код для работы и собрал composer проект.
Краеугольный камень — это стандарт представления . С помощью него решены почти все «холиварные» вопросы. Мне осталось только принять решение по формату запросов с фильтрацией, сортировкой и постраничной навигацией. За вывод отвечает пакет от neomerx (Кстати, не так давно он тоже собрал свой ).
В качестве основы я выбрал . Грамотно спроектированный, быстрый, легко расширяемый и простой.
Для работы с БД . Удобная, сравнительно быстрая и простая.
Работу с правами и контролем доступа построил на основе . На удивление простой пакет для работы с правами.
Авторизация на основе
Документацию генерирую по комментариям написанным в коде с помощью . Почему не Swagger? Пробовал и его, но мне apidoc понравился больше.
Код размещён на , проект доступен на .