Нужен ли мне фреймворк для создания REST API на PHP?
Я довольно новичок в PHP (около 8 месяцев). Я создаю веб-приложение, которое почти готово к бета-тестированию. Я только сейчас начинаю думать о том, что мне нужно сделать, чтобы создать мобильную версию приложения.
Как я понимаю, я должен создавать API REST (пожалуйста, поправьте меня, если я ошибаюсь). В настоящее время я НЕ использую PHP-фреймворк для своего веб-приложения. Должен ли я быть таким?
Должен ли я теперь начать использовать фреймворк, чтобы мне было легче реализовать свой API? Или я могу создать свой API вообще без каких-либо рамок?
6 answers
КРАТКИЙ ОТВЕТ Нет, вам не нужны рамки для достижения вашей цели.
НО это будет действительно проще, если вы будете использовать фреймворк для управления своим API. Я предлагаю вам выбрать легкий фреймворк, и, возможно, вы также сможете легко конвертировать свое веб-приложение в фреймворк, имея одно "приложение" для возврата двух разных "вещей" (веб-материалы и API).
Взгляните на Ларавель, REST API на основе Laravel 4 или список популярных php rest api фреймворки, которые можно использовать для их создания.
Вам определенно не нужна какая-либо структура для создания PHP REST API. REST - это не что иное, как соглашение о протоколе, построенное поверх HTTP. Поскольку PHP, очевидно, может обрабатывать HTTP-запросы, в нем есть все необходимое для создания RESTful API.
Весь смысл фреймворков заключается в том, чтобы решать общие задачи и вещи, которые в противном случае являются утомительными. API REST обычно создаются с использованием PHP, поэтому существует множество фреймворков. Лично я бы использовал легкий фреймворк, такой как тонкий просто для обработки таких вещей, как маршрутизация URI, анализ/очистка данных запроса и генерация ответов.
Нет, вам не нужна платформа для создания API REST, но это настоятельно рекомендуется, так как хорошо построенная платформа может позаботиться о вещах, которые в противном случае могут быть очень сложными и сложными, а именно о проверке подлинности сеанса и кэшировании и хорошо разделенной архитектуре. Изобретение колеса только заводит вас так далеко.
Я разработчик Wave Framework , который был разработан с учетом ориентированного на API дизайна (подробнее здесь ). Я призываю вас взглянуть на эту структуру и посмотрите, может ли это быть чем-то, что могло бы вам помочь. У него есть небольшая группа разработчиков, но он постепенно завоевывает признание.
Я призываю вас взглянуть на это, и если это может удовлетворить ваши потребности.
Существуют также инструменты, которые создают REST api из БД без необходимости в дополнительном коде.
Если вы используете Postgres, есть отличная программа PostgREST, которая
Предоставляет полностью RESTful API из любой существующей базы данных PostgreSQL. Он обеспечивает более чистый, более соответствующий стандартам и более быстрый API, чем вы, вероятно, напишете с нуля.
REST - это скорее идеология дизайна, чем языковая структура, поэтому вам не нужно использовать какие-либо рамки. Однако нет никакого преимущества в изобретении колеса (конечно, есть некоторые недостатки, такие как безопасность, структура и т.д.).
Если вы хотите избежать хаоса MVC (который не является обязательной спецификацией архитектуры REST), вы можете использовать любой PHP-мико-фреймворк (Slim, Lumen и т. Д.). Они действительно быстры в освоении и реализации и позволяют разработчику PHP писать приложение на основе маршрута (аналогично тем, которые используются в MEAN и Express), что значительно экономит время.
Большинство этих фреймворков также поставляется с MVC, но если вы не хотите предоставлять CMS для API, MR (Model-Routes) достаточно хорош (и практически лучший) для всех остальных потребностей.
С момента появления угловых подобных фреймворков, которые позволяют вашему веб-сайту легко взаимодействовать с sever, как и с любым другим API, я думаю, что даже CMS должна получать доступ к API, как и к любому другому приложению, только с повышенными правами или определенной конечной точкой
Мир очень, очень велик, поэтому никто не может делать все в одиночку. Кто-то поможет кому-то (кто делает что-то новое) сделать что-то старое. Это причина, по которой libray и FW существуют в нашем Мире ИТ.
В производственной/живой среде все гораздо сложнее, чем мы думаем. До следующего дня нам нужно будет построить так много вещей для нашего проекта, и мы увидим, что эти вещи были полностью построены FW раньше.
Хотя это просто спокойный сервер с чистым PHP, мы необходимо решить проблемы с: маршрутизацией URI, анализом/очисткой данных запроса, доступом к данным, управлением зависимостями, генерацией ответов, бла-бла-бла...
Я рекомендую использовать Slim или Phalcon (микро-приложение). Slim - это простой и быстрый метод, но Phalcon - эффективный и высокопроизводительный метод.