web-dev-qa-db-ja.com

PHPでREST APIをビルドするにはフレームワークが必要ですか?

私はPHP(約8か月)にかなり慣れています。ベータ版の準備がほぼ整ったWebアプリを作成しています。今、私は何をする必要があるかを考え始めています。アプリのモバイル版を作成します。

私が理解しているように、私はREST API(間違っている場合は修正してください)を構築する必要があります。現在、PHP Webアプリ。

APIをより簡単に実装できるように、フレームワークの使用を開始する必要がありますか?または、フレームワークなしでAPIを構築できますか?

60
Progger

SHORT ANSWERいいえ、目標を達成するためにフレームワークは必要ありません。

[〜#〜] but [〜#〜]フレームワークを使用してAPIを管理すると、非常に簡単になります。軽量のフレームワークを使用することをお勧めします。Webアプリもフレームワークに簡単に変換でき、1つの「アプリ」で2つの異なる「もの」(WebスタッフとAPI)を返すことができます。

LaravelLaravel 4ベースREST API または人気のあるリスト php rest api frameworks それを使用して構築できます。

51
Napolux

PHP REST AP​​Iを構築するためのフレームワークは、必要ありません RESTは、HTTPの上に構築されたプロトコル規則にすぎません。 PHPは明らかにHTTPリクエストを処理できるため、RESTful APIを構築するために必要なものはすべて揃っています。

フレームワークの全体的なポイントは、そうでなければ退屈な一般的なタスクや物事を処理することです。 REST AP​​Iは一般にPHPで構築されるため、多くのフレームワークが存在します。個人的には、 slim のような軽量フレームワークを使用して、URIルーティング、リクエストデータの解析/クリーニング、応答の生成などを処理します。

17
Dan Simon

REST APIを構築するためのフレームワークは必要ありませんが、適切に構築されたフレームワークは非常に困難で複雑なもの、つまりセッション認証を処理できるため、強くお勧めしますキャッシングと十分に分離されたアーキテクチャです。

私は Wave Framework の開発者です。API中心の設計を念頭に置いて開発されました(詳細は こちら )。このフレームワークを確認し、それがあなたに役立つかもしれないものかどうかを確認することをお勧めします。開発者の小さなグループがありますが、徐々に認知されています。

私はあなたがそれを見て、それがあなたのニーズを満たすかもしれないかどうか見ることをお勧めします。

4
kingmaple

追加のコードを必要とせずに、DBからREST apiを作成するツールもあります。

Postgresを使用している場合、優れたプログラムがあります postgREST

既存のPostgreSQLデータベースから完全なRESTful APIを提供します。ゼロから作成する可能性が高い、よりクリーンで、標準に準拠した、より高速なAP​​Iを提供します。

RESTは、言語フレームワークというよりも設計イデオロギーです。したがって、フレームワークを使用する必要はありません。ただし、車輪を再発明することには利点はありません(セキュリティ、構造などのようないくつかの欠点があります)。

MVCの混乱(RESTアーキテクチャの指定が必須ではない)を避けたい場合は、PHP micoフレームワーク(Slim、Lumenなど)を使用できます。 PHP開発者がルートベースのアプリ(MEANおよびExpressのアプリに似ている)を作成して、時間を大幅に節約することを学び、実装してください。

これらのフレームワークのほとんどにもMVCが付属していますが、APIにCMSを提供したくない場合は、MR(Model-Routes)ですべてのRESTニーズに十分(そして実際には最高)になります。

ウェブサイトが他のAPIのようなサーバーと簡単に通信できるようにするangularのようなフレームワークの夜明け以来、CMSでさえ、他のアプリのようにAPIにアクセスする必要があります。

2

世界は非常に大きいため、誰もがすべてを行うことはできません。誰かが(何か新しいことをする)誰かが古いことをするのを手伝います。これが理由です。私たちのITの世界にはlibrayとFWが存在します。

実稼働/ライブ環境では、私たちが考えるよりも非常に複雑なものがあります。将来の一日まで、私たちはプロジェクトのために非常に多くのものを構築する必要があり、それらのものはFWによって完全に以前に構築されたことがわかります。

純粋なPHPを備えたRESTfulサーバーだけですが、次の問題を解決する必要があります。URIルーティング、リクエストデータの解析/クリーニング、データアクセス、依存関係管理、応答の生成、bla bla bla ...

SlimまたはPhalcon(Micro App)の使用をお勧めします。スリムは簡単で迅速な方法ですが、ファルコンは効果的で高性能な方法です。

1
Deka

いいえ、あなたはPHPバックエンドのためのフレームワークを必要としません。

PHPをバックエンドとして使用している場合、resetAPIフレームワークを使用する必要はありません。独自のphpファイルを作成し、応答ごとにJSON出力を生成するだけです。

JSON出力を生成する必要があります。それは十分です。利点:-独自のログインを使用してJson出力を生成する場合、非常に軽い速度になります(ロジックに基づいて)。フレームワークを使用すると、パフォーマンスの問題が発生します。

特定のサイトの作業を行うために独自のミニフレームワークを設計できれば、より良いでしょう。

ありがとう

1
kk4You