Какие PHP-фреймворки подходят только для приложений веб-служб? - PullRequest
10 голосов
/ 22 февраля 2012

Я оцениваю фреймворки PHP для нескольких будущих проектов с целью использования одной и той же фреймворки для всех них.Необычный аспект заключается в том, что они НЕ являются стандартными браузерными приложениями, к ним все будут обращаться пользовательские приложения, которые ожидают XML или JSON (в настоящее время не определились).

Большинство сред PHP, таких как Yii, CodeIgniter, CakePHP, кажутся разработаннымивокруг разумного предположения, что клиентское приложение будет браузером - например, использование файлов cookie для управления сохранением, перенаправления после POST и т. д.

Хотя я уверен, что я могу заставить любую из вышеперечисленных платформ выполнитьработа, какая из основных инфраструктур "лучше" подходит для разработки приложений, не зависящих от клиентских приложений?

Ответы [ 6 ]

6 голосов
/ 22 февраля 2012

Из «больших» (CI, Kohana, Zend, Cake, Symfony) я думаю, что более новый Zend имеет лучшую поддержку веб-сервисов RESTful, но в более ранних версиях Zend Framework очень не хватало контроллеров остальных. Я создал свой собственный для Zend и просто использую их.

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

Мой совет - придерживайтесь уже знакомой вам структуры, создайте свои собственные контроллеры отдыха (если в настоящее время их нет). Может потребоваться создание некоторых базовых функций для обработки выходных данных и их преобразования в XML, json и т. Д., Но вы потратите меньше времени, чем на изучение новой инфраструктуры. Кроме того, с большой фигурой, вы не будете застревать с необходимостью поддерживать базу программного кода, которую кто-то устал от того, чтобы идти в ногу.

6 голосов
/ 22 февраля 2012

На самом деле Recess PHP звучит идеально для этого ... по своей сути успокаивает перед чем-либо еще.

Обновлено: В последнее время я также играл с Slim Framework . Это довольно крутой маленький инструмент, который в основном является PHP-эквивалентом Express.js для узла. Это чрезвычайно эффективный, легкий и управляемый тест.

1 голос
/ 22 февраля 2012

Symfony2 имеет интересную концепцию, если вы сконцентрированы на HTTP (и, кроме того, он также имеет некоторый CLI (интерфейс командной строки)).

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

Кроме того, она хорошо протестирована, имеет определенный API и позволяет легко расширять ее с помощью внедрения зависимостей и так называемых пакетов.

Если вы начинаете новый и используете PHP, начните с symfony2.

0 голосов
/ 27 февраля 2016

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

На самом деле это будет действительно проще, если вы будете использовать инфраструктуру для управления своим API. Я предлагаю вам перейти на легкие рамки.

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

У вас есть много таких вариантов: http://davss.com/tech/php-rest-api-frameworks/

0 голосов
/ 23 февраля 2012

Неужели люди перестали пользоваться отдыхающими услугами к 2012 году?

Если вы знакомы с PHP-фреймворком Ruby on Rails Yii, то стоит разобраться.

Возможно, стоит потратить час на каждую платформу и посмотреть, какую из них вы считаете наиболее простой в использовании.

0 голосов
/ 22 февраля 2012

Я рекомендую Zend Framework для нечетных заданий, подобных этому, особенно потому, что он написан таким образом, что вы можете использовать его частички без необходимости адаптироваться к поведению платформы в целом. Например, в моем приложении я использую часть Zend_Db каркаса для функций, связанных с ORM и базой данных, но я использую другие объекты и каркасы для других частей приложения.

Как вы указали, большинство других сред написаны с множеством предположений о типе приложения, которое вы надеетесь построить (один из недостатков парадигмы соглашения о конфигурации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...