2. Laravelをはじめる
プロジェクト作成方法
ComposerとLaravel Installer
Laravelプロジェクトを作成するには2つの方法があります。
- Composer
- Laravel Installer
Composerが一般的
「Laravel Installer」の場合、コマンドが比較的簡単ですが、「Laravel Installer」の実態は、Composerでインストールすることと同じなので、プロジェクト作成は通常Composerでインストールすることが多いです。
composerでプロジェクト作成
ComposerコマンドでLaravelプロジェクトを作成します。「VSCode」のターミナルや「PowerShell」などを開きコマンドを実行します。
composer create-project オプション laravel/laravel プロジェクト名
最新バージョンの場合
バージョン省略すると最新バージョンがインストールされます。
composer create-project laravel/laravel プロジェクト名
バージョン指定する場合(9.x)
「laravel/laravel」のあとにバージョンの指定**できます。
composer create-project laravel/laravel=9.x プロジェクト名
Laravelインストーラを利用
Laravel Installer
「Laravel Installer」を利用するはComposerでグローバルにインストールします。
composer global require laravel/installer
Laravel Installerの確認
「Laravel Installer」をインストールしたら、ターミナルでLaravelコマンドが利用できるようになります。
laravel -V
Laravel Installer x.x.x
Laravel Installerでプロジェクト作成
「Laravel Installer」の方がプロジェクト作成のコマンドが簡単です。
laravel new プロジェクト名 オプション
Laravelプロジェクト作成
VSCodeでターミナル起動
フォルダを開く
「VSCode」でLaravelプロジェクトを作成したいフォルダを開きます。※今回は「MAMP」のWebルート「htdocs」にしました。
ターミナル起動
「ターミナル > 新しいターミナル」を開きます。
ターミナルが開きました。
Composerでインストール
Composerコマンドで、Laravelプロジェクト「laravel_sample」を作成します。作成時にLaravelのバージョンを指定しておくと良いでしょう。
Laravel9.xの場合
composer create-project laravel/laravel=9.x laravel_sample
プロジェクトの確認
プロジェクトを開く
作成したプロジェクト「laravel_sample」を「VSCode」で開きなおします。
Laravelのファイル構成
作成されたプロジェクト内のファイルやフォルダを確認してみましょう。
Laravel9.3の場合
/
├── README.md
├── app/
├── artisan
├── bootstrap/
├── composer.json
├── composer.lock
├── config/
├── database/
├── lang/
├── package.json
├── phpunit.xml
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
├── vendor/
└── vite.config.js
主要ファイル
Laravelでよく利用するファイルやフォルダは以下のとおりです。
フォルダ | 説明 |
---|---|
app/ | MVC構成のファイルをはじめとする、主要なプログラムを格納 |
config/ | アプリの細かな設定ファイルを格納 |
resources/ | フロントエンド処理の「View」「JS」「SCSS」といったリソースファイルを格納 |
public/ | Web公開用のフォルダで「JS」「CSS」画像ファイルなどを格納 |
routes/ | URLのルーティング設定ファイルを格納 |
database/ | データベース設定ファイル(マイグレーション)や、テストデータなどを格納 |
.env | 「アプリ名」「DB接続」などの個人環境設定ファイル。※Git管理しないよう注意 |
vendor/ | Laravelのライブラリが格納※修正しないように注意 |
app
MVCの「Controller」「Model」をはじめ、アプリ開発で作成する主要なプログラムを格納します。
config
アプリの機能に応じた設定ファイルを格納するフォルダです。
database
データベースのマイグレーションファイルや、テストデータなどを格納します。
public
Web公開用のフォルダで、URL的にWebルートになります。Laravelの起動ファイル、画像やJS、CSSなどのリソースといったファイル配置します。
resources
フロントエンド開発用の「View」ファイルを格納します。Laravelの「Blade」をはじめ、「React」「VueJS」「SCSS」などを作成して開発します。
routes
ルーティング(Routing)設定ファイルを格納します。通常のURLや、APIのURLを設定し、Laravelのプログラムを起動します。
artisanコマンド
artisanコマンドとは
artisanコマンドは、Laravel用のPHPコマンドプログラムです。モデル・コントローラーの作成、DB更新(マイグレーション)をはじめ、Web開発を効率化する機能が多数搭載されています。
artisanコマンド
artisanコマンドは決められたオプションを組み合わせて実行します。
php artisan オプション
PHPコマンド必須
PHPコマンドを実行できるのが大前提となるので、ターミナルで実行できるようにPHPパスの設定をしておきましょう。
プロジェクト直下で実行
artisanコマンドはプロジェクトフォルダ直下で実行します。「VSCode」で作成したLaravelプロジェクトを開き、ターミナルでコマンド実行します。
Laravelのバージョン確認
ターミナルで実行
ターミナルでLaravelのバージョンを確認してみましょう。
php artisan -V
バージョン確認
アプリケーションキーの作成
ターミナルで実行
Laravelサーバを動作させるには、アプリケーションキーの生成が必要です。環境再構築やサーバにデプロイするときんいアプリケーションキーを生成します。artisanコマンドでキーを作成してみましょう。
php artisan key:generate
.envファイル
アプリケーションキーは、プロジェクト作成時に自動作成された「.env」ファイルに書き込まれます。
.env
Laravelサーバ
Laravelのサーバとは
開発向けの機能
PHPのWebアプリは、Webサーバに配置されたPHPファイルを実行して動作させますが、LaravelにはPHPのサーバ機能を利用して動作もできます。開発環境で動作確認するときにLaravelサーバはとても便利です。
本稼働ではLaravelサーバは利用しない
本サーバの稼働はWebサーバ(Apache、Nginxなど)経由でLaravelを実行するため、Laravelサーバを起動する運用はしません。 詳しくは「Laravel 9.x デプロイ 」を参照してください。
サーバ起動
ターミナルで実行
Laravelサーバは「serve」オプションで起動します。
php artisan serve
ターミナル確認
サーバが起動すると、URLが表示されサーバが常時起動状態になります。VSCodeであれば、マウスオーバーもしくは、ショートカット、直接URLを入力してブラウザでアクセスします。
- Mac:Cmd + クリック
- Win:Ctrl + クリック
Laravel の起動確認
ブラウザで http://localhost:8000 にアクセスすると、Laravelのトップ画面が表示されます。ここまでcomposerコマンドだけでPHPアプリケーションが作成できました。
サーバー起動コマンドを覚える
開発ではLaravelサーバで確認するのが手軽なので、サーバの起動方法は覚えておきましょう。
ポート番号指定で起動
デフォルトでは http://localhost:8000 で起動しますが、もし任意にポート番号の指定もできます。
php artisan serve --port ポート番号
Laravelサーバ停止
Laravelサーバの停止は、起動中のターミナル上で「Ctrl + Cキー」 を押します。 停止後はターミナル入力モードに戻ります。