公開日 2020.11.3カテゴリ:Laravelタグ:PHP,Laravel,Factory

はじめに ウェブアプリケーションフレームワークのクラス構成にはさまざまなバリエーションがありますが、どれも様々なデザインパターンを駆使し、素晴らしいクラス構成になっています。 今回、じっくりフレームワークのソースコードを読むことで、少しでもいいクラス設計について学べるといいなぁと思い、このような企画を思いつきました。 PHP には様々なウェブアプリケーションフレームワークがあり、それぞれに特徴がありますが、今回は、近年突出して注目されている Laravel を取り上げます (いずれ他のフレームワークでも試してみたいです)。 環境 PHP 5.6.9 Laravel 5.2 やったこと Eloquent (Active Record) と DBファサード (Query Builder) の使い分け、ついでに Repository について Dependency Injection と Ser
PHPカンファレンス2017でFirebase Realtime Databaseについて登壇してきました #phpcon2017 こんにちは、サーバサイドエンジニアの@sota1235です。 先日10/8(日)に東京で開催されたPHPカンファレンス2017に登壇してきました。 phpcon.php.gr.jp 何について話したか 登壇した際のスライドは以下です。 動画も上がっているようなのでよろしければどうぞ。 youtu.be 今回はメルカリの一機能であるメルカリチャンネルでの開発の裏話について発表しました。 メルカリチャンネルではリアルタイムメッセージング(コメントやいいね等の機能)にFirebase Realtime Databaseを利用しています。 その開発時の工夫やテクニックについてお話しました。 どんな工夫をしたのか、実際にFirebase Realtime Databas
Captcha security check wsnippets.com is for sale Please prove you're not a robot View Price Processing
Laravel 4 でデータベースを使ったテストを書く際の Tips です。 自動テストでデータベースにアクセステストを書く際に大切なのが、データベーステーブルのデータをテストで想定された状態にしておくということです。テーブルの内容がテストを実行される度に異なると、ある時はテストが通って、ある時は通らないという状態になります。 この「想定された状態」をセットアップするために、フレームワークで用意されている Migration と Seeder を利用しています。 テストケースでマイグレーション実行 開発を進めていると、データベーススキーマを変更する場合があります。マイグレーションファイルを作成して、php artisan migrate コマンドで適用するのことになります。テスト用データベースについても適用する必要がありますが、php artisan migrate --env=testi
PDO から Doctrine DBAL への書き換えDoctrine2: PDO を使うコードを Doctrine ORM に書き換える学習内容Doctrine DBAL についてDoctrine DBAL のセットアップSymfony、Silex との連携テーブルの作成とデータの投入PDO のコードDoctrine DBAL のコードSQL 実行と結果セット取得メソッドの種類型の種類その他の検討項目プレースホルダの形式bindValue と bindParam結果セットの形式を指定する場所学習内容 SQL の SELECT のプリペアドステートメントを実行する PDO のコードと Doctrine DBAL のコードを比較することで Doctrine DBAL をはじめて使う際の心理的抵抗感を減らす。プリペアドステートメントと暗黙の型変換による SQL インジェクションについて学ぶ。さ
釣りっぽいタイトル。「RDBのトランザクションが絡むとアプリケーション側のプログラムが書きにくくなる」という話です。 もちろんですが、RDBのトランザクション機能は偉大であり、Webアプリケーションでも意識して使わなければならず、「トランザクションなんて使うな」と言いたいわけではありません。 合成できない関数 PHPで素のPDOから考えます。たとえば、以下の関数に問題はあるでしょうか? <?php /* * 古いデータをアーカイブテーブルに移す関数のイメージ */ function moveDataToArchive(PDO $db) { $db->beginTransaction(); try { $db->exec(' INSERT INTO archives SELECT * FROM data WHERE published < CURRENT_DATE '); $db->exec
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く