ホームページ > バックエンド開発 > PHPチュートリアル > PHP およびモバイル APP 開発 (API インターフェース開発) についての簡単な説明

PHP およびモバイル APP 開発 (API インターフェース開発) についての簡単な説明

WBOY
リリース: 2016-07-29 09:13:44
オリジナル
950 人が閲覧しました
推奨読書: RESTful それは何ですか? RESTful アーキテクチャを一緒に理解しましょう API 開発についてより深く理解しましょう
この投稿は、PHP と API 開発についてあまり知らない人向けに書かれています
1. まず、2 つの質問に簡単に答えてください:
1. PHP でクライアントを開発できますか?
答え: いいえ、PHP はスクリプト言語であり、B/S アーキテクチャまたは C/S アーキテクチャの S 部分、つまりサーバーの開発を完了する責任を負っています。 (GTK と WinBinder については心配しないでください)
2. サーバー開発の最初の選択肢として PHP を選択する理由は何ですか?
答え: クロスプラットフォーム (UNIX、LINUX、WINDOWS、Mac OS で実行可能)、低消費電力 (PHP はかなりのシステム リソースを消費します)、高い操作効率 (比較的に)、MySQL の完璧なパートナーです。無料のオープンソース...
2. PHP を使用して API (Application プログラミング インターフェイス、アプリケーション プログラミング インターフェイス) を開発する方法は?
APIに取り組んだことがある人は、実際のAPIの開発はWEBの開発よりも簡単であることを理解しているはずですが、APIは実際にはページをレンダリングせずにデータを出力するため、MVCはありません(APIにはMしかありません) C) 、
1. WEB 開発と同様に、最初にこれらのパラメータがクライアントによって渡される必要があります (おそらく GET または POST)。これは開発チームによって合意される必要があります。定式化される。
2. パラメーターを使用して、タスクの進行状況の更新、アプリ内購入、ゲーム終了時のデータ送信など、アプリケーションの要件に従ってデータ処理を完了します。
3.処理された後、クライアントに返されます。ミッション ステータス、アプリ内購入結果、プレイヤー情報など、使用する必要がある関連データ。データをクライアントに返すにはどうすればよいですか?
JSON、XML、TEXT などの直接出力フォーム
4. クライアントは、返されたデータを取得した後、クライアント上でローカルにユーザーと対話します
一時的に書かれた簡単な API の例:
  1. php
  2. $ 出力=配列();
  3. $a = @$_GET['a'] ? $_GET [ 'a'] : '';
  4. $uid =@$_GET ['uid'] ? $_GET['uid'] : 0;
  5. if( ($a)) {
  6. gt;NULL, 'info'=> exit ( json_encode( $output)); } // インターフェースを取得します
  7. if ($a ==
  8. 'get_users')
  9. {
  10. (
  11. $uid == 0) { $output =array
  12. (
  13. 'data'=>
  14. NULL
  15. , 'info' => 'uid は null!' exit ( json_encode ($output));
  16. }
  17. // $mysql がデータベースであると仮定します
  18. $mysql = array(
  19. 10001 =>配列(
  20. =>5,
  21. => 『シャインX』,
  22. .com'
  23. , ' qq' = & gt; 979137
  24. ' gold' = & gt; 1500
  25. 'powerPlay'
  26. = & gt; 配列 array ('2xp'=>
  27. 12
  28. ,'gem'=> ;5 ,
  29. 'キー
  30. = >5,'胸'=> '宝石'=>配列('赤'=>13 '緑'=> 8 ,'黄'=>17)、 4 =>
  31. 1377123144 'exp'=>16758)、 10002 => 'uid'=>10002,
  32. 'elva'メール'=>'elva@ezhi.net'
  33. => >1,
  34. 「宝石」>120, 「ビンゴ」=> 「チェスト」
  35. =>8)、
  36. '宝石'=> 配列('赤'=>13,'緑' =>3'青'=>8'黄色'=>17)、
  37. 'ctime'=>1376523234 ,
  38. 'lastLogin'=>1377123144,
  39. 'レベル'=>112,
  40. ' exp'=>167588,
  41. ),
  42. 10003 => array(
  43. 'uid' => 10003,
  44. 'vip' => 5,
  45. 'ニックネーム' => 「リリー」,
  46. 「メール」 => 「Lily@ezhi.net」
  47. 'qq' => NULL,
  48. 'ゴールド' => 1541,
  49. 「パワープレイ」 => array('2xp'=>2,'gem'=>112「ビンゴ」 =>4,'キー'=>7,'チェスト'=>8)、
  50. の宝石' => array('赤'=>13,'緑'=>3 'ブルー'=>9,'黄色'=>7)、
  51. 'ctime' => 1376523234 ,
  52. 'lastLogin'=> 1377123144,
  53. 「レベル」 => 10,
  54. 'exp' => 1758,
  55. )、
  56. );
  57. $uidArr = 配列(10001,10002,10003);
  58. if (in_array($uid, $uidArr,tru​​e )) {
  59. $output =配列('データ'=> NULL, '情報'=>'ユーザーは存在しません!' ,'コード'=>-402);
  60. (json_encode) ($output )); }
  61. [
  62. $uid];
  63. //出力データ $output =
  64. 配列(
  65. ) 'データ'
  66. =>配列(
  67. => 本当,//そうですか初回ログイン u'unream'
  68. = & gt; 4, // 不当なメッセージの数
  69. 'untask'
  70. = & gt; 3,//未完了のタスク
  71. ),
  72. => 'ここポップアップウィンドウでよく使用されるメッセージです' ,
  73. //メッセージプロンプト。クライアントはこれをポップアップウィンドウメッセージとしてよく使用します 200,//成功と失敗のコードは通常、正または負の数値です son_encode(
  74. $output
  75. {
  76. ); //. ..
  77. 死ね('あなたは調整中ですget_games_result インターフェイス!'); }
  78. elseif
  79. ($a == 'upload_avatar' ){ upload_avatarインターフェース!');
  80. }
  81. コードをコピークリックテスト (クライアントの場合、このアドレスは直接呼び出されることもあります):
    http://www.ezhi.net/api/test/index.php
    http://www.ezhi.net/api/test/ Index.php?a=get_users
    http://www.ezhi.net/api/test/index.php?a=get_users&uid=10001
    http://www.ezhi.net/api/test/index? a=get_users&uid=10002
    http://www.ezhi.net/api/test/index.php?a=get_users&uid=10003
    3. 実際のプロジェクトでは、API を開発する際にいくつかの点に注意する必要があります (参考)のみ):
    1. if..elseif..、スイッチ、動的メソッド (つまり、関数本体にアクセスする TP の形式) など、複数のインターフェイスを 1 つのファイルに実装する方法はたくさんあります。 2. データ出力には json を使用するのが最適です。JSON は非常にクロスプラットフォームです。JSON は徐々に xml に取って代わり、ネットワーク データの汎用形式になりつつあります。 3. インターフェース セキュリティのため、インターフェース検証を追加する必要があります。たとえば、クライアントとサーバーはさまざまなインターフェイスに統一された暗号化方式を使用しており、サーバーは各インターフェイスを検証する必要があります。これは、特に大規模な商用アプリケーションの場合、インターフェースがハッカーによって悪意を持って更新されたり、悪意を持って呼び出されたりするのを確実に防ぐためです。
    4. オンライン API の場合は、すべてのインターフェイスが正常であり、すべてのエラー メッセージが閉じられていることを確認する必要があります => error_reporting(0)。そうしないと、クライアントは解析に失敗します。データを直接クラッシュ!
    5. API の開発と WEB の場合は、コードが間違っている可能性があり、特に重大なエラーが発生することはありませんが、データの書き込みやクエリの失敗が発生する可能性があります。 WEB の特定の部分がずれている、または意味不明です。ただし、API の場合はクラッシュするだけです。
    6. インターフェイス開発を行う場合、フレームワーク開発を使用することはお勧めできません。その理由は次のように要約できます (実際、私は少し危険です。結局のところ、これは公式 Web サイトです)。 TP):
    1) クライアント 一般に、サーバーの応答速度に対する要求は非常に高いため、フレームワークを使用する場合は、最も独創的な PHP を使用してインターフェース開発を完了するのが最も効率的です。夏にスーツを着るのと同じように、ファイルを読み込む必要があります。想像してみてください。携帯電話でゲームをしているときに、アプリケーションを使用して何らかの操作を実行し、動きがなくなるまで長時間待つことを耐えられますか。
    2) 上記のポイント 4 で述べたように、フレームワークは WEB 開発にとって非常にありがたいものですが、API にとっては、それがどのような問題を引き起こすか本当に想像できません。結局は悲惨なことになりますよ~~ 多くのフレームワークは WEB のために生まれました (私も、いつか API 開発専用に設計されたフレームワークや拡張機能が登場することを楽しみにしています)
    インターフェースの効率化や、これに悩んでいる人もいます。安定性は、コードを書く人によっても異なります。フレームワークほど高速に記述できない人もいます。また、フレームワークを使用しても問題ないと考える人もいます。これらは、実際の状況によって異なります。 . オンラインにする前にコードをストレステストすることもお勧めします
    そういえば、Tencent Weibo や Taobao などのオープンプラットフォームについて話さなければなりません。実際、これらのオープン プラットフォーム (いわゆるオープン) は、そのようなインターフェイスを提供します。提供されるインターフェイス ファイル (通常は JSON または XML を返します) は、提供される技術ドキュメントと、それらが設定する形式と要件に基づいて調整できます。 QQ ユーザーの基本情報、
    淘宝網、製品ニュースなどの関連情報を取得できます。次に、これらのメッセージに基づいてアプリケーションでの対話を完了します。
    実はajaxもAPIを呼び出す形式なのですが、どう思いますか? はは〜〜
    上記では、ajax、淘宝網ストア、アプリケーション コンテンツなど、PHP およびモバイル APP 開発 (API インターフェイス開発) について簡単に説明しました。PHP チュートリアルに興味のある友人に役立つことを願っています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート