Я довольно новичок в PHP (около 8 месяцев). Я создаю веб-приложение, которое почти готово к бета-тестированию. Я только сейчас начинаю думать о том, что мне нужно сделать, чтобы сделать мобильную версию приложения.
Насколько я понимаю, я должен создать REST API (пожалуйста, поправьте меня, если я ошибаюсь). В настоящее время я НЕ использую фреймворк PHP для своего веб-приложения. Должна ли я быть?
Должен ли я начать использовать структуру, чтобы я мог более легко реализовать свой API? Или я могу создать свой API без каких-либо фреймворков?
SHORT ANSWER Нет, вам не нужна инфраструктура для достижения вашей цели.
НО Но будет проще, если вы используете фреймворк для управления вашим API. Я предлагаю вам перейти на облегченную структуру и, возможно, вы можете легко конвертировать ваш webapp в каркас, имея одно «приложение» для возврата двух разных «вещей» (веб-материал и API).
Взгляните на Laravel , LARvel 4 на основе REST API или список популярных php rest api framework, которые можно использовать для его создания.
Конечно, вам не нужны какие-либо рамки для создания API REST PHP. REST – это не что иное, как протокол, построенный поверх HTTP. Поскольку PHP, очевидно, может обрабатывать HTTP-запросы, у него есть все необходимое для создания RESTful API.
Весь смысл фреймворков – это решение общих задач и вещей, которые в противном случае являются утомительными. API REST обычно создаются с помощью PHP, поэтому существует множество фреймворков. Лично я использовал бы облегченную структуру, такую как slim, просто для обработки таких вещей, как маршрутизация URI, анализ данных запроса на очистку и очистка и генерирование ответов.
Нет, вам не нужна инфраструктура для создания REST API, но настоятельно рекомендуется, так как хорошо построенная структура может позаботиться о вещах, которые могут быть очень сложными и сложными в противном случае – аутентификация сеанса и кэширование и хорошо разделенная архитектура. Переосмысление колеса только доводит вас до сих пор.
Я разработчик Wave Framework, который был разработан с учетом дизайна, ориентированного на API (подробнее здесь ). Я призываю вас заглянуть в эту структуру и посмотреть, может ли это быть чем-то, что могло бы вам помочь. У нее небольшая группа разработчиков, но она постепенно получает признание.
Я призываю вас взглянуть на это, и если это может удовлетворить ваши потребности.
Существуют также инструменты, которые создают REST api из БД без необходимости в дополнительном коде.
Если вы используете Postgres, есть отличная программа postgREST, которая
служит полностью RESTful API из любой существующей базы данных PostgreSQL. Он обеспечивает более чистый, более стандартизованный, более быстрый API, чем вы, вероятно, будете писать с нуля.
REST – это скорее идеология дизайна, чем языковая среда, поэтому НИКАКОЙ НЕОБХОДИМО использовать какую-либо фреймворк. Однако нет никакого преимущества в том, чтобы изобретать колесо (уверен, что есть некоторые недостатки, такие как безопасность, структура и т. Д.).
Если вы хотите избежать хаоса MVC (это не требуется спецификация архитектуры REST), вы можете использовать любую PHP mico-framework (Slim, Lumen и т. Д.), Которые они действительно быстро изучают и реализуют и позволяют разработчику PHP писать приложение на основе маршрута (аналогично MEAN и Express), что экономит много времени.
Большинство этих фреймворков также имеют MVC, но если вы не хотите предоставлять CMS для API, MR (модели-маршруты) достаточно хорош (и практически самый лучший) для всех потребностей REST.
Начиная с рассвета угловых, подобных фреймворкам, которые позволяют вашему веб-сайту общаться с сервером как любой другой API, я думаю, что даже CMS должен получить доступ к API, как и любое другое приложение, только с повышенными правами или определенной конечной точкой
Мир очень большой, поэтому никто не может делать все в одиночку. Кто-то поможет кому-то (кто сделает что-то новое) сделать что-то старое. Это причина, libray и FW существуют в нашем ИТ-мире.
В производственной / живой среде все очень сложнее, чем мы думаем. До сегодняшнего дня нам нужно будет создать так много всего для нашего проекта, и мы увидим, что эти вещи были полностью созданы FW.
Хотя только RESTful Server с чистым PHP нам нужно решать проблемы с: маршрутизацией URI, анализом / очисткой данных запроса, доступом к данным, управлением зависимостями, генерированием ответов, bla bla bla …
Я рекомендую использовать Slim или Phalcon (Micro App). Slim – простой и быстрый метод, но Phalcon – эффективный и высокопроизводительный метод.