~Web開発の旗手LaravelのDB仮想化とファサードを使いこなす~
Laravelにおける、テーブル間の関連付け…記述法が曖昧な方は、いらっしゃいませんか?ユーティリティクラスの関数を、viewから呼び出したい時に、手が止まる方はいらっしゃいませんか?あなたの悩み、解消します。
研修成果
Webアプリ開発では最強と言われるPHP + Laravelの開発効率は、全ての言語 + フレームワークの組み合わせと照らし合わせても、群を抜いて高いと言えます。
その開発効率を支える重要な要素が、Eloquentと呼ばれるDBの抽象化技術であり、ユーティリティクラスのスコープを柔軟にするためのFaçadeの存在です。
本研修では、DB抽象化の基礎知識と、テーブル間の関連付けの記述法、さらにファサードを使いこなす利点の理解と、実践的なスキルを短期間で習得することを目指します。
ともすると難解と言われるテーブル間の関連付けの記述、ファサード作成と利用のポイントを、ご一緒にマスターしていきましょう。
動的型付け言語のメリットを最大限生かしたEloquentと、柔軟なクラス設計を可能にするFaçadeを理解することで、あなたのWeb開発は、さらに柔軟に、拡張性に富む、堅牢なものへと成長していくことでしょう。
■ この講座で得られること
✅ テーブル間リレーション(1対多/多対多)の定義と活用
✅ EloquentでのCRUD操作を自在に使えるようになる
✅ Façadeを使ったサービス呼び出しと設計の柔軟性が理解できる
✅ Laravelの構造を「中から」理解し、より堅牢なWeb設計ができる
達成目標
- Laravelの強力なEloquentとFacadeの基本から応用までを学び、実際の開発現場で活用できる実践的なスキルを習得。
- 複雑なデータベース操作やフレームワークの機能を利用したコードを、簡潔かつ効率的に記述できるようになる。
対象
- PHP+Laravelの理解を深め、効率的な設計と堅牢なアプリの開発に自信を付けたい方々
- Laravelにおけるテーブル間の関連付け(一対多、多対多)の理解を深め、実装イメージを明確にしたい方々
- viewからもコントローラからも呼び出せるファサードの作成方法と利用法を理解したい方々
前提:
1.PHP8.1以後とLaravel9の開発環境をあらかじめインストールしてご参加ください。
2.Docker、VirtualBox等仮想環境とエディタは、使い慣れた物をそのままお使い頂いて結構です。
※快適に受講するためにデュアルモニターの使用をお奨めします。
定員:12名様
担当講師:松田睦
マシン語によるゲーム開発時代から40年以上プログラムに関わってきました。Z80、8086系アセンブリ言語とC言語によるDOSやRPGイベント管理用独自言語、画像圧縮展開ツールなどの開発からスタートし、SE及びPG要員として、要件定義から設計、PG、テスト、保守、進捗管理等、通しで幾度も経験しています。 言語はC、C++、Java、PHP、C#、Python、ASP(VBA)等。 Java、PHPのフレームワーク各種。 DBはオラクル、PostgresSQL、MySQL、Microsoft SQL Server等。
実績:オンラインスクールにてJava、PHP、Pythonのメンターを五年、新入社員向け研修講師を三年勤め、文系出身の表現力を生かしたわかりやすい例えを用いた講義は、各所から好評を頂いています。
1回目:2026年12月17日(木)~18日(金)
カリキュラム
1日目(13:00~17:00)
| 【カリキュラム概要】~Eloquent入門と実践的データ操作~ Laravel概要とMVC構造の復習 Eloquent ORMとは(ActiveRecordパターン) モデルの作成と命名規則 マイグレーションの基礎(php artisan migrate) シーディングとファクトリ(開発時のデータ投入) Eloquentでの基本的なCRUD操作 all(), find(), create(), update(), delete() スコープの基礎(where チェーン、ソート、limit) 【演習】 簡単な「Wiki管理システム」モデルを作成し、データベースと連携 CRUD画面を作らず、Tinkerまたはルート経由で操作を試す Bookモデルを作成 → マイグレーションでカラム定義 シーダーでダミーデータを投入し、一覧取得・追加・更新・削除を体験 質問タイム |
2日目(13:00~17:00)
| 【カリキュラム概要】~リレーションとFacade活用の実践~ モデル間のリレーション 1対多(hasMany / belongsTo) 多対多(belongsToMany、pivotテーブル) リレーション経由のアクセス($user->postsなど) リレーションのEager LoadingとLazy Loadingの違い クエリビルダとEloquentの違い、併用の考え方 Facadeとは?(サービスコンテナとサービスプロバイダ) Laravelの主要なFacadeの紹介(DB, Log, Storage, Validator など) Facadeの内部構造を簡単に追う(Facadeクラスの仕組み) 【演習】 「ユーザーと投稿」のモデルを使って、1対多のリレーションを実装 リレーション経由でのデータ取得を体験し、with句によるEager Loadingの違いを比較 LogやValidatorなどのFacadeを実際に使った処理を書いてみる 余力があれば、独自Facadeの作成概要を紹介(※紹介レベル) 発表、質問タイム ※ご希望があれば 関数インデックスの話題もFacadesに絡めて触れる Str::of()のような静的Facadeの連鎖的処理 関数的スタイルとFacadeの比較等 |