Siler の代替として、すぐに Swoole のライブラリとして機能する軽量でシンプルなものとして、Nano を強くお勧めします。チェックしてください: https://nano.hyperf.wiki/#/en/
Siler は、PHP での宣言型プログラミングの API を目的とした汎用の高レベル抽象化のセットです。
第一級市民としてのファイルと機能
依存関係なし、すべてが PHP 組み込み関数の上にあります
超高速、追加のオーバーヘッドなし -ベンチマーク 1 、ベンチマーク 2 、ベンチマーク 3
フラット ファイルと従来の PHP 関数は、運用グレードの高性能、スケーラブル、同時実行型のノンブロッキング HTTP サーバー上で動作します。
チュートリアルを読んでください。
作曲家にはレオカヴァルカンテ/サイラーが必要です
それだけです。実際、Siler はフレームワーク (おそらくマイクロフレームワーク) ではなくライブラリであり、プログラム全体の制御フローはユーザーによって決定されます。したがって、隠し設定や事前定義されたディレクトリ構造はありません。
SilerFunctional を λ として使用します。 // 念のため、非 ASCII 識別子は使用しないでください ;)use SilerRoute;Routeget('/', λputs('Hello, World!'));
それ以上でもそれ以下でもありません。 Siler にrun
などを指示する必要さえありません ( puts
遅延評価されたecho
のように機能します)。
SilerRoute を使用;SilerHttpResponse を使用;Routeget('/', fn() => Responsejson(['message' => 'Hello, World!']));
Responsejson
関数は、応答ヘッダーにContent-type: application/json
を自動的に追加します。
Siler は Swoole に第一級のサポートを提供します。 Swoole HTTP サーバーのRoute
、 Request
、およびResponse
モジュールを定期的に使用できます。
SilerHttpResponse を使用する;SilerRoute を使用する;SilerSwoole を使用する;$handler = function () {Routeget('/', fn() => Responsejson('Hello, World!')); };$port = 8000;echo "ポート $portn でリッスンしています";Swoolehttp($handler, $port)->start();
ピア依存関係をインストールします。
コンポーザーには webonyx/graphql-php が必要です
タイプ クエリ {hello: 文字列}
SilerRoute を使用する;SilerGraphQL を使用する;$type_defs = file_get_contents(__DIR__ . '/schema.graphql');$resolvers = ['Query' => ['hello' => fn ($root, $args, $context, $info) => 「ハロー、ワールド!」] ];$schema = GraphQLschema($type_defs, $resolvers);Routepost('/graphql', fn() => GraphQLinit($schema));
もう 1 つのピア依存関係:
作曲家には教義/注釈が必要です
それから:
/** * @SilerGraphQLAnnotationObjectType() */final クラス クエリ {/** * @SilerGraphQLAnnotationField() */public static function hello($root, $args, $context, $info): string{return 'Hello, World!'; } }
SilerGraphQL を使用;SilerRoute を使用;$schema = GraphQLannotated([Query::class]);Routepost('/graphql', fn() => GraphQLinit($schema));
オブジェクト型名は、フィールド名と同様にクラス名とその戻り値の型から推測されます (つまり、PHP string
スカラー===
GraphQL String
スカラー)。
ドキュメント
例
MITライセンス
著作権 2020 © LC