カテゴリー
サインイン 新規登録
学習時間 12時間
難易度 初級
質問投稿
価格 ¥1,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

PHPとLaravelで同じメモアプリを開発しながら、Laravel の魅力を学ぼう!

前半はPHPのみでEvernote風メモアプリケーションを開発し、後半は同じものをLaravelで開発する。フレームワークを使用しない場合の開発と、Laravelのメリットを実際に開発することで体感。開発を通じて、簡単なアプリケーションの作り方やSQLの書き方、dockerの使用方法などを学ぶ。

4.5
最終更新 2021/4
yasuaki

Evernote風のメモアプリの開発を通して PHP と Laravel の違いを理解する

本教材では、Dockerを使用して開発環境を構築し、PHPのみとLaravelでそれぞれ同じEvernote風のメモアプリケーションを作成します。

メモアプリの機能としては、ユーザー登録から始まり、ログイン・ログアウト、メモの投稿・更新・削除を実装していきます。

はじめにPHPのみでの開発をすることで、PHPへの理解度を深めていきます。

Laravelフレームワークの内部では、もちろんPHPが使用されて動いています。
それぞれのメモアプリ開発することで比較して、Laravelを表面的に理解するのではなく、Laravelのメリットを実際に体感することができます。

学習内容

  • PHPのみでのアプリケーションの開発の流れ
  • PHPのみでのユーザー登録機能の作り方
  • PHPのみでのログイン機能の作り方
  • PHPのみでのログアウト機能の作り方
  • PHPのみでのメモの投稿・更新・削除機能の作り方
  • Laravelのアプリケーションの開発の流れ
  • Laravelのユーザー登録機能の使用方法
  • Laravelのログイン登録機能の使用方法
  • Laravelのログアウト登録機能の使用方法
  • Laravelのメモの投稿・更新・削除機能の作り方
  • アプリケーションでの、それぞれのSQL使用方法(SELECT/INSERT/UPDATE/DELETE)

技術的には具体的に下記のことが学べます。

  • dockerを使用した開発方法
  • phpMyAdminを使用して、データベースの作成やテーブルの作成
  • 簡単なデータベースのテーブル設計(使用するテーブルは2つです)
  • PHPに関する内容
    • PHPのみでのURLルーティング
    • require関数を使用した共通関数の読み込み
    • PDOクラスを使用したデータベースへのデータの取得・追加・更新・削除
    • フォームデータの受け渡し($_POST, $_GET)
    • セッション($_SESSION)情報の使い方
    • password_hash関数とpassword_verify関数を用いたログイン
    • var_dump関数を使用したデバッグ
  • Laravelに関する内容
    • アプリ作成に沿ったartisanコマンドの使用方法
    • Bladeを使用した画面作成
    • ヘルパーの使用方法(dd, old, loggerなど)
    • Eloquent ORM、マイグレーション
    • ルーティング
    • ミドルウェア
    • コレクション
    • フォームリクエストでのバリデーション

完成物のイメージ

画面構成については、PHPのみバージョンとLaravelバージョンどちらも同じです。

https://i.gyazo.com/31de23018fa4a7bfc6aeed5df80256a2.gif

本教材の対象者

  • PHPの学習がひと通り終わって、何かWebアプリを作りたい
  • PHPのみを使用したアプリケーションの作成を通してPHPの理解を深めたい
  • LaravelでWebアプリ作成を初めてみたい
  • Laravelを漠然と使っていて、メリットを明確にしたい

受講における必要条件

  • HTML/CSSの基礎知識
  • PHPでの基礎知識(変数・配列・if文・foreach文・関数・セッションを理解している)
  • 簡単なコマンドラインの知識
  • データベース(RDBMS)の概念がなんとなくわかっていること

※必須ではありませんが、リポジトリからファイルを取得するので、gitをインストールしておくと便利です。

学ばないこと

本教材では、PHPとLaravelでのWebアプリケーション作成方法や相互の違いを学ぶことを目的にしているため、HTML・CSSの解説は詳しくしていません。

また、本教材で使用するdockerの環境について、dockerの仕組みなどの詳しい説明はしていません。調べていただけると幸いです。

本教材の対応バージョン

言語

  • PHP 7.4.10

フレームワーク

  • Laravel 8

データベース

  • mysql 5.7

環境・ツール

  • nginx 1.19.1
  • docker 19
  • docker-compose 1.27
  • phpmyadmin 5.0

OS

  • Mac

動作確認済みの環境はCatalinaです。

※2020年11月発売のM1チップを使用しているMacでは現時点(2020/11/25)ではdockerが動きません。なので、M1チップ搭載のMacでは本教材は使用できません。

  • Windows

Windows10 Proで環境構築できるように書いています。 Homeエディションには対応していません。

本教材で質問対応可能なOSや環境

  • Mac OS
  • Windows10 Pro

本教材の構成

0章 はじめに

本教材を進める上での環境を整えたり、設計を解説していきます。

1章 PHPのみで作ってみよう(画面作成)

PHPのみバージョンでの画面作成を行います。

2章 PHPのみで作ってみよう(ユーザー登録・認証機能作成)

PHPのみバージョンでのユーザー登録・認証機能の作成を行います。

3章 PHPのみで作ってみよう(メモ投稿機能作成)

PHPのみバージョンでメモ投稿機能の作成を行います。

4章 Laravelで作ってみよう(画面作成)

Laravelバージョンでの画面作成を行います。

5章 Laravelで作ってみよう(ユーザー登録・認証機能作成)

Laravelバージョンでのユーザー登録・認証機能作成を行います。

6章 Laravelで作ってみよう(メモ投稿機能作成)

Laravelバージョンでのメモ投稿機能の作成を行います。

7章 終わりに

それぞれのバージョンで作成するときのトラブルシューティングを載せていますので、エラーなどを解決する際はご一読ください。また、最後に本教材で作成した2つの成果物を振り返って、メリットやデメリットなどを考えます。

カリキュラム

Section 0 はじめに
Section 1 PHPのみで作ってみよう(画面作成)
  • 1-1 ディレクトリ(URL)を作成する
  • 1-2 静的ファイルのダウンロードと配置
  • 1-3 ヘッダー情報の出力関数作成
  • 1-4 ユーザー登録画面を作る
  • 1-5 ログイン画面を作る
  • 1-6 メモ投稿画面を作る
Section 2 PHPのみで作ってみよう(ユーザー登録・認証機能作成)
  • 2-1 ユーザーテーブル作成と開発する際の注意点について
  • 2-2 データベース接続関数の作成
  • 2-3 ユーザー登録機能を実装する
  • 2-4 バリデーションの共通関数を実装する
  • 2-5 ユーザー登録画面にバリデーションを実装する
  • 2-6 ログイン機能を実装する
  • 2-7 認証情報の共通関数作成
  • 2-8 ログイン情報を考慮した画面遷移を実装する

講師のプロフィール

教材のレビュー

4.5
13件の評価
76%
7%
7%
0%
7%
庄田雄貴 6ヶ月以上前
PHPとLaravelで同じアプリケーションを作成する教材ということで、FWありとなしでどのように書き方が変わるのかを学べる数少ない教材でした。 FWありとなしのCRUD処理やバリデーションなどの書き方を復習できたので、非常に良い教材だと思います。
Caleb 1年以上前
初めてチュートリアルでLaravelのアプリケーションを作りました。説明が非常にわかりやすく、おかげさまで最後まで完走できました。
marimo 1年以上前
見本通りにやってもうまく動かない。 コピペをしてもだめ。 初心者にはおすすめできません。