Вопрос по frameworks, rest, php, api – Нужна ли среда для создания REST API в PHP?

57

Я довольно новичок в PHP (около 8 месяцев). Я создаю веб-приложение, которое почти готово к бета-тестированию. Я только сейчас начинаю думать о том, что мне нужно сделать, чтобы сделать мобильную версию приложения.

Как я понимаю, я должен создать REST API (пожалуйста, исправьте меня, если я ошибаюсь). В настоящее время я не использую PHP-фреймворк для своего веб-приложения. Должна ли я быть?

Должен ли я теперь начать использовать фреймворк, чтобы мне было проще реализовать мой API? Или я могу построить свой API без какой-либо инфраструктуры вообще?

REST API - это способ стандартизировать способ взаимодействия с бэкэндом. А именно через HTTP-глаголы GET, POST, UPDATE / PATCH и DELETE на конечных точках, таких как / api / & lt; object & gt; / id / & lt; связанные объекты & gt; и так далее и тому подобное. Highmastdon

Ваш Ответ

6   ответов
17

Вы, конечно, неneed любой вид фреймворка для создания PHP REST API. REST - это не что иное, как соглашение о протоколе, построенное на основе HTTP. Поскольку PHP, очевидно, может обрабатывать HTTP-запросы, он имеет все необходимое для создания API RESTful.

Весь смысл фреймворков в том, чтобы справляться с общими задачами и вещами, которые в противном случае утомительны API REST обычно создаются с помощью PHP, поэтому существует множество фреймворков. Лично я бы использовал легкие рамки, такие кактонкий просто обрабатывать такие вещи, как маршрутизация URI, данные запроса на анализ / очистку и генерирование ответов.

1

Мир очень очень большой, поэтому никто не может делать все в одиночку. Кто-то поможет кому-то (кто делает что-то новое), сделает что-то старое. Это причина, библиотека и FW существуют в нашем мире ИТ.

В производственной / живой среде все намного сложнее, чем мы думаем. До следующего дня нам нужно будет создать так много вещей для нашего проекта, и мы увидим, что эти вещи были полностью созданы FW раньше.

Хотя это всего лишь сервер RESTful с чистым PHP, нам необходимо решить проблемы с: маршрутизацией URI, данными запроса синтаксического анализа / очистки, доступом к данным, управлением зависимостями, генерацией ответов, бла-бла-бла ...

Я рекомендую использовать Slim или Phalcon (Micro App). Slim - простой и быстрый метод, но Phalcon - эффективный и высокопроизводительный метод.

URI routing, parsing/cleaning request data & Л; & л; mod_rewrite?
47

SHORT ANSWER Нет, вам не нужна основа для достижения вашей цели.

BUT будет действительно проще, если вы будете использовать фреймворк для управления своим API. Я предлагаю вам перейти на облегченный фреймворк, и, возможно, вы сможете легко конвертировать свое веб-приложение в фреймворк, имея одно & quot; приложение & quot; вернуть две разные "вещи" (веб-контент и API).

Взгляни наLaravel, REST API на основе Laravel 4 или список популярныхPHP остальные API фреймворки это может быть использовано для создания.

Они также добавят безопасность
Я ненавижу структуру каталогов Laravel. самая жестокая, жестокая гидра
@Napolux зачем использовать слона, когда это можно сделать с помощью тети! Вы советуете загрузить 23MB lib только для REST!
@Jleagle Да, я забыл упомянуть все «готовые» особенности инфраструктуры, такие как безопасность, CRUD, соответствие MVC и т. д.
Я ничего не рекламирую. Я просто говорю, что фреймворк (не только большие звери, такие как Symfony, но также Slim или другие микрофреймеры) дает вам структуру, с которой нужно начинать.
2

REST - это скорее идеология дизайна, чем языковая среда, поэтому НИКОГДА вам НЕ НУЖНО использовать какую-либо среду. Однако нет никакого преимущества в изобретении колеса (Конечно, есть некоторые недостатки, такие как безопасность, конструкция и т. Д.).

Если вы хотите избежать хаоса MVC (который не является обязательной спецификацией архитектуры REST), вы можете использовать любую микро-фреймворк PHP (Slim, Lumen и т. Д.), Который очень быстро выучить и реализовать, и позволяет разработчику PHP писать приложение на основе маршрутов. (аналогично MEAN и Express) экономия времени.

,

Большинство этих инфраструктур также поставляется с MVC, но если вы не хотите предоставлять CMS для API, MR (Model-Routes) достаточно хорош (и практически лучший) для всех нужд REST.

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

Привет Химаншу, я уже использую AngularJS в своем внешнем интерфейсе и хотел бы использовать PHP-фреймворк в качестве бэкэнда (в настоящее время кодирую на простом PHP). Единственная задача PHP - извлекать данные из базы данных и конвертировать их в REST и наоборот. Самое главное, я ненавижу ООП, предпочитаю простое функциональное программирование. Уже используется MVC в AngularJS на стороне клиента. Какая основа лучше всего подходит для меня? Благодарю. (Примечание: я НЕ тот, кто задал этот вопрос)
Ну, веб-API в идеале должен дать ответ в формате JSON. Если бы я был на вашем месте, я бы использовал Slim Framework. Это действительно легко реализовать, легко и быстро. Кроме того, он позволяет вам сохранить простоту маршрутизации. REST не обязательно должен быть ООП или MVP (хотя он рекомендуется для масштабирования) Slim поможет вам быстро начать работу :)
4

Нет, вам не нужна среда для построения REST API, но это настоятельно рекомендуется, поскольку хорошо построенная структура может позаботиться о вещах, которые могут быть очень сложными и сложными, а именно, о проверке подлинности сеансов и кэшировании и хорошо разделенной архитектуре. Изобретая колесо, ты только так далеко.

Я разработчикWave Framework который был разработан с учетом API-ориентированного дизайна (подробнееВот). Я призываю вас взглянуть на эти рамки и посмотреть, может ли это быть чем-то, что может вам помочь. У него небольшая группа разработчиков, но она постепенно завоевывает признание.

Я призываю вас взглянуть на это, и если это может удовлетворить ваши потребности.

разработка остановлена сейчас?
3

Существуют также инструменты, которые создают REST API из БД без необходимости в дополнительном коде.

Если вы используете Postgres, есть отличная программаpostgREST тот

serves a fully RESTful API from any existing PostgreSQL database. It provides a cleaner, more standards-compliant, faster API than you are likely to write from scratch.

Похожие вопросы