Какие фреймворки PHP подходят только для приложений веб-сервисов?


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

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

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

Author: justkevin, 2012-02-22

6 answers

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

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

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

 6
Author: Ray, 2012-02-21 22:16:07

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

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

 6
Author: Kristian, 2014-04-11 20:44:36

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

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

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

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

 1
Author: hakre, 2012-02-21 22:46:43

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

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

 0
Author: Jazz, 2012-02-21 22:43:55

Наверняка люди перестали пользоваться услугами restful к 2012 году?

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

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

 0
Author: Chris Herring, 2012-02-23 10:40:04

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

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

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

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

 0
Author: Vishal Kumar, 2016-02-27 10:22:22