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キー」 を押します。 停止後はターミナル入力モードに戻ります。

Laravel超入門