PHP

AWS Lambda + PHPを技術調査した

概要 qiita.com 数年前に軽く記事にしていたが、改めて技術調査をしたのでまとめてみる。 TL;DR いろいろなユースケースで使えるくらい充実してきた 思ったよりもすんなり動く ワーカーとか動かすと嬉しそう 実行環境 AWS公式でPHPの実行環境は提供されてお…

Laravel Sanctumを試してみる

概要 ISRを利用したサイト開発を行うにあたり、認証周りの調査を行っていた。 その中でLaravel Sanctumの存在を知ったので遊んでみる。 所感 古き良きCookieを使ったセッションの仕組みを、トークンで再現した感。 試してみる Laravel Sanctumとは Laravel S…

初めてのE2E

E2Eテストとは End to Endのテストの略で、システム全体を通したテストを行うこと。 Webサービスで言うと、ブラウザ上からテストを行うこととなる。 メリット ブラウザ上から実行するということで、よりユーザに近い環境でテストを行い、品質を担保すること…

Botmanでテストコードを作成

概要 Botmanで作成したコードをテストする方法。 実装 app/tests/BotMan/ExampleTest.php を例に進めていく。 感覚的にはPHPUnitと同様に、メソッドを実行し、返り値を判定する形となる。 シンプルな Hi のテストをベースに解説していく。 1. $this->bot->re…

LaravelでActionを切って躓いた話

概要 LaravelでControllerではなく、Actionというクラスを定義して、実装しようとして躓いた話をまとめます。 やりたかったこと postsってルーティングにアクセスしたら、 App\Http\Controllers\Posts\IndexAction が呼ばれる 起きたこと postAutoDumpで下記…

Guzzleを使ってAPIのテストを書く

概要 DBの単体テストは、PHPUnitを使うことで手軽に行うことができていました。 しかし、APIのテストはやり方がわかっておらず、テストコードの作成を行えていませんでした。 今回Guzzleを使って、モックを差せることがわかったので、実践したやり方をまとめ…

Laravelのtinkerを使えるとちょっと幸せになれる

概要 Laravelのtinkerでちょっと幸せになれたので、ここに残しておこうと思います。 tinker 説明 php aritisan tinker のことで、Laravelを対話的に動かすことができるコマンドです。 Eloquentはもちろんのこと、自分で作成した独自クラスの読み込みも可能で…

Laravel5.5のmigrationで、外部キー制約を貼ろうとして躓いた話

概要 業務でLaravel5.5を使っているので、家で学習がてらLaravelを触っていました。 そこで、外部キー制約を貼ったテーブルを作成しようとして躓いたので、忘れないように残しておきます。 やろうとしたこと ブログ投稿を管理するpostsテーブルと、そのブロ…

PHPUnitでdataProviderが動作せずに時間を食った話

概要 PHPUnitを使って、PHPのテストコードを書いていたところ、dataProviderが動かなくて、数時間悩みました。 備忘録として、情報を残しておきます。 なにがあった? 下記のようなテストコードを書いて、PHPUnitを実行したところ、 rgumentCountError: Too …

CakePHP2系でComponentの単体テストを行って躓いた話

概要 CakePHP2系のアプリケーションに、新規でComponentを作成した。 そのComponentに対して、単体テストを行うとしたところ躓いたので残しておく。 内容 Componentに対して単体テストを作成し、公式ドキュメントを参考にsetUpに下記を記述。 public functio…