Laravel は、PHP の Web フレームワークとして、いまや最も人気が高く最も使用されている Web フレームワークです。この連載は、ToDo アプリ開発を通して Laravel での開発とテスト方法を学びます。
始めに
Laravel は、フルスタックフレームワークです。必要な機能がほぼそろっており、手軽に高機能な Web アプリケーション開発ができます。しかしながら、学ぶべきことが多く事前にしっかりとした学習が必要です。 この連載では、ToDo アプリの開発を題材にして Laravel のエッセンスを学んでもらえるようにしました。
対象のLaravelのバージョン
Laravel のバージョンは 6.x,7.x になります。
https://laravel.com/docs/6.x/releases
https://laravel.com/docs/7.x/releases
対象者
以下の2つを満たす方を対象に記事を作成しています。
- PHP 言語の入門レベルの学習は終えている
- いくつかの Linux のコマンドは使ったことがある
PHP 言語で何らかのプログラミング経験はあるが Laravel を用いた開発が未経験の方、もしくは経験者で Laravel を深く理解したいという方を対象に、Laravel でのアプリ開発の手がかりとなるように詳細な記事を用意しました。 また、プログラミングスクール、専門学校などで、PHP を学び終えたがポートフォリオ作りがまだまだの方にも参考になるものです。
目標
実際の開発では、必ずと言ってよいほどフレームワークが使われます。 Ruby 言語であれば Ruby on Rails、JAVA 言語なら Spring Boot、そして、PHP 言語では Laravel です。 この連載の目標は、PHPer にとって必須の Laravel を理解し、独自の Web アプリを公開することになります。当初のステップは ToDo アプリの公開になります。
シーズン1の講座内容と特徴
ToDo アプリの開発を Laravel で行うものです。実装だけでなくテストについても解説しています。
- WSL2 上での環境構築
- dusk を通しての E2E テスト
- 機能テスト
- PSR-12 に準拠するための静的解析
Laravel でのテストから開発周りまで、実際の現場で Laravel を使っていく上で必要不可欠なスキルを習得できるようになっています。 また、シーズン2のソースコードには、Laravel初学者がよくやりがちな誤りを意図的に取り入れています。 解決はシーズン2で行います。
環境
Laravel を動かす実行環境として Windows の WSL2 を利用します。 コーディングは、Visual Studio Code(VSCODE)で行います。
実行環境
Windows の WSL2 で下記を用意します。
- Ubuntu
- Apache
- postgres
実装環境
コーディングは Windows マシンを使用しています。 Windows ユーザーが、PHP 言語でシステム開発をする場合は、Xampp を使用することが多いです。 ただし、Microsoft が Windows 上で PHP 8 以降は対応しないことをアナウンスしたため、これからは WSL2 での開発、docker での開発が主軸になります。
VSCODE
PHP 界隈では PhpStorm を使うことが多いようです。ただ有料で、初年度 22,900 円、次年度以降も年間料金が必要となってきます。個人での導入は厳しいです。 一方、Visual Studio Code(VSCODE)は無料でかつリモート開発機能があります。 特にリモート開発機能が優れていて、WSL2、Docker 上での開発がすこぶる快適です。 さらに、PHP 以外にも、Nodejs、Vue.js などの開発にも利用できます。一度、使い方を覚えればほかの言語でも利用できます。
シーズン1以降について
全20回のシーズン1以降のあとには、シーズン2、シーズン3と続きます。
- ToDo アプリを開発(シーズン1)
- ToDo アプリの問題点を修正&リファクタリング(シーズン2)
- ToDo アプリに機能追加(シーズン3)
シーズン2では、うっかりやりがちな間違い、Laravel らしくない部分、脆弱性がある部分などを改善していきます。 シーズン3では、機能追加を通して、自分のアイデアをアプリに反映できる力を身に着けてもらいます。