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