最近のプロジェクトにはGMツールが必要です。 Webフォームにしたい。最終的に、私は PHP を使用してそれを行うことに決めました。そして、数え切れないほどハッキングされてきたこの「世界で最高の言語」も経験しました。
あとになって、PHPで書くのは本当に楽しいことに気づきました。現時点で一番しっくりくるのは2つです:
1つ目は変数関数の特性です。 foo という名前の文字列変数があり、その文字列の値が「bar」であるとします。$foo() を直接記述することは、bar() 関数を呼び出すことと同じです。 PHP 公式マニュアルを参照してください: http://php.net/manual/zh/functions.variable-functions.php。対照的に、Lua はもう少し多くのコードを記述する必要があるようで、関数はバイトコードに基づく静的言語 (「半静的言語」であると言う人もいます) からグローバル テーブルからインデックス付けされるようです。 C# と Java ではリフレクション メカニズムを使用する必要があるため、C/C++ などの静的言語では、文字列を通じて関数アドレスを検索するメカニズムを実装しない限り、これを行うことができません。これは非常に典型的な動的言語の機能です。静的言語で記述されたサーバーでは、リフレクション メカニズムがない場合、さまざまなメッセージをさまざまな関数に分散して処理するために、メッセージから関数への大規模なマッピング テーブルを定義する必要がありますが、動的言語で記述されたサーバーでは、 , クライアントに関数名を直接送信させ、サーバーがその関数名を使用して直接実行することができます(もちろん、クライアントの攻撃を防ぐためにセキュリティチェックを追加する必要があります)。
2つ目はフォーマット文字列です。他の言語では、文字列をフォーマットするには、通常、string.format や sprintf などのライブラリ関数を使用する必要があります。まず、フォーマット文字列パラメータを渡し、次に string.format( など) 変数を 1 つずつ関数に渡します。 "'%s '値は %d です"、foo、bar)。もちろん、PHP で sprintf を使用する必要がある場合もありますが、変数名はすべて $ で始まるため、多くの場合、変数を文字列に直接書き込むだけで済み、PHP パーサーは変数を認識します。 $foo' は $bar " です。これにより、書きやすいだけでなく、読みやすくなります。
また、中国語で書かれた非常に便利な PHP ソケット サーバー フレームワークも見つけました: http://www.workerman.net/。これを使用すると、PHP サーバーとブラウザおよびその他の内部サーバーとの間の長期接続を簡単に確立でき、プロトコルを簡単にカスタマイズすることもできます。 QQ フレームワークに参加した後、これはまだ非常に活発なコミュニティであり、作成者のフィードバックも非常にタイムリーであることがわかりました。現在、私たち中国人もこのような優れたオープンソース フレームワークを持っており、これは本当に喜ばしいことです。