Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
Submit Search
Upload
Phpでrest apiを作った話
•
2 likes
•
555 views
Y
Yamaguchi Kenya
Follow
10/9(Fri) phpcon2015の応募に間に合わなかった人たちによるLT大会 資料
Read less
Read more
Report
Share
Report
Share
1 of 39
Download now
Download to read offline
More Related Content
Phpでrest apiを作った話
1.
PHP で REST
API を作った話 @ken880guchi
2.
自己紹介
3.
自己紹介 株式会社 Loco Partners Kenya
Yamaguchi Twitter: @ken880guhci Github: Kenya Yamaguchi
4.
宣伝
5.
満足度の高い施設のみを掲載 最低価格の保証(差額返金システム) より特別なおもてなし
7.
今日の話
8.
題名に PHP とありますが
PHP のコー ドは全くありません。 REST API 作った体験談になってます。 謝罪
9.
Q. どんな構成?
10.
A. いつもの構成 • EC2
+ RDS • WebServer: Apache • WAF: CakePHP
11.
作るきっかけ
12.
自社アプリのリニューアル CakePHP のアクションメソッドで生成し た値をそのまま使用 アプリエンジニア =>
٩(๑`^́๑)۶ 作るきっかけ
13.
これをみてくれ
14.
"0": { "key1": "value1", "key2":
"value2", "key3": "value3" } 意図が伝わらない Key
15.
ツラ。。。 (́._.`)
16.
そもそも、REST API を作ったことない。 そもそも、REST
API を作る際に妥当な WAF ってなんだ。 そもそも、アプリ側にとって扱いやすい構造っ てどんなものだろう。 作りなおすにあたって
17.
「そもそも」 解らないことだらけ
18.
そもそも、REST API を作ったことがない。 O'Reilly
から出版されている Web API: The Good Parts をまず読む 大手サービスの真似をしてみる 基礎力の向上 地道に 1 つずつ潰していく
19.
そもそも、REST API を作る際に妥当な WAF
ってなんだ。 複数のWAFを使用することで、保守性が悪くなるん じゃないのか 現在のサービス利用率と自身達の技術力から考えて、 本当に別のWAFを選択することが最適解なのか CakePHP を引き続き採用 地道に 1 つずつ潰していく
20.
そもそも、アプリ側にとって扱いやすい構造っ てどんなものだろう。 自社アプリ開発者にヒアリング 出来るだけ要望に答える アプリをViewとして捉える 地道に 1 つずつ潰していく
21.
思っていたよりも ずっと面倒臭い
22.
ドキュメントの作成 大事。だけど面倒 仕様の再確認 いままで無かった事もあって、ボリュームがやばい 面倒臭い
23.
既存コードの移植 コントローラーにズラーーーっと並んでいる状態 コピペでドンッ!だと不要なデータとかまた取得し てしまう。 バグらないよう少しづつ API へ移植 面倒臭い
24.
実装中の確認
25.
過去のリクエスト履歴を残してくれる History 機能 頻繁に使用するリクエストの
Collection 機能 Document (軽い説明)も書ける リクエストの履歴から curl, javascript, objective- c, java 等など、様々な言語でのリクエスト用のコードを 自動生成してくれる 良いところ、便利なところ
26.
var data =
null; var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("GET", "https://qiita.com/api/v2/items"); // 省略 xhr.send(data); 自動生成されたコード (javascript)
27.
テストはどうした?
28.
そもそもやった?
30.
Chakram? ふるまい駆動でテストが書ける 環境構築が簡単 npm install -g
chakram npm install -g mocha ドキュメントが整っている
31.
どんなところに使用したか 堂々と使ってますと言ったけど 実際は、一部のレスポンスステータスや構造 の確認のみに使用しているだけ それでも無いより大分捗ります
32.
CakePHP は REST
API を作るには大袈 裟すぎたんじゃないかな。 型とか気にするようになったら、静的言語の 方が捗るかと思ったけど、値のフォーマット と数字から数値程度のキャストならPHPで も問題なかった。 いざとなったら、ワサッ!とかける PHP は 最高! 業務系アプリって大きな View みたい 作ってみてのまとめ
33.
おまけ
34.
サーバーレスアーキテクチャ 新しいものへの強い期待! なんか格好良さそう!! いつかやりたい ... あこがれ
35.
やってみた! 憧れているだけでは はじまらない!!
36.
API Gateway +
Lambda + ElasticSearch でFramework は JAWS を採用! なんか今時!! どんな構成?
37.
サーバーレスなので自由度は減るが、メンテ 不要なのは魅力的 PHP も良いけど、新しいものへの挑戦も大事 やってみて
38.
Loco Partners では こんな仲間を募集中です!! 会社のビジョンに共感できる人 課題解決指向の人 技術が好きで堪らない人 採用情報
39.
ご清聴 有難うございました
Download now