[Laravel]Laravelで開発を始める

## はじめに
今まで学習してきたことを、自分なりにまとめていきます。

## Laravelとは

Laravelはマイクロソフトの. NET開発に携わっていたTaylor Otwell氏によって2011年に初めて公開されたWebアプリケーションフレームワークです。
MVCのWebアプリケーション開発に使用され、オープンソースで開発されています。

主にWebアプリケーションを作成する際に用いられるフレームワークですが、システム開発など幅広いジャンルでの活用が可能となっています。

・公式ドキュメント

https://laravel.com/docs/10.x

・日本語訳ドキュメント

https://readouble.com/laravel/


## 環境構築

Laravelの開発環境を構築する方法はいくつかありますが、Laravel Sailを用いた環境構築が公式ドキュメントでもおすすめされています。
Laravel Sailを簡単に説明すると、Laravelの開発環境をDockerで簡単に構築できる機能となります。


## Dockerとは

Dockerとは開発に必要な環境をOS(Windows OSやmacOSなど)レベルでまとめてくれるサービスのことです。
環境構築を簡単にしてくれる便利機能だと思っていただければ大丈夫です！

## Laravelプロジェクト作成

デスクトップにLaravelフォルダを作成し、その中にさらにexample-appフォルダを作成してから、example-appフォルダ内にLaravelのファイル一式を格納していきます。

まず、ターミナルを起動して、下記3つのコマンドを実行するとデスクトップにLaravelフォルダが作成され、ターミナルでLaravelフォルダが選択状態になります。

```
$ cd ~/Desktop
$ mkdir Laravel
$ cd Laravel
```

次に下記コマンドを入力して下さい。
これでLaravelファイル一式のダウンロードが始まります。

```
$ curl -s "https://laravel.build/example-app" | bash
```
:::note warn
Docker is not running.などのエラーでダウンロードが始まらない場合は、Dockerのアプリケーションが開いているか確認しましょう。
:::

Laravelファイル一式のダウンロードが完了し、デスクトップ上のLaravelフォルダ内にexample-appというフォルダのLaravelプロジェクトが作成されたら、下記コマンドを入力してLaravel Sailを起動します。

```
$ cd example-app
$ ./vendor/bin/sail up -d
```
無事に実行が完了できたら、[http://localhost/](http://localhost/)を通して、アプリケーションへアクセスできます。

Macをシャットダウンする時や開発を中断する時は、下記コマンドを実行してください。
実行するとシャットダウンと同じで開発環境をオフにすることができます。
```
$ ./vendor/bin/sail stop
```

## VSCodeでexample-appディレクトリを開く

VSCodeでexample-appディレクトリを開くためには、ターミナルで下記コマンドを実行してください。
```
$ cd ~/Laravel/example-app
$ code . 
```

## phpMyAdminのインストール

次に、データベースを操作するためのphpMyAdminをインストールしていきましょう！

docker-compose.ymlファイルを編集していきます。

ちなみに、このdocker-compose.ymlファイルはLaravel Sailで開発環境を構築した場合に作成されるファイルで、このファイルにDockerの設定が記述されています。

それでは、docker-compose.ymlファイルを下記のように編集してください。

```
# For more information: https://laravel.com/docs/sail
version: '3'
services:
    # --- ここから追加 ---
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        links:
            - mysql:mysql
        ports:
            - 8888:80
        environment:
            PMA_HOST: mysql
        networks:
            - sail
    # --- ここまで追加 ---
    laravel.test:
    # --- 以下省略 ---
```
:::note warn
追加部分のコードをservices:の下に記述してください。
また、インデントをservices:より1つ下げてください。
docker-compose.ymlでは、インデントがしっかりしていないとエラーになるので気を付けてください。
:::

コードの追加が終わったら、ターミナルで下記コマンドをexample-appディレクトリ上で実行してください。
```
$ ./vendor/bin/sail up -d
```

実行が完了したら、[http://localhost:8888/](http://localhost:8888/)へアクセスできたら、phpMyAdminのインストールは完了です。

## Laravelの初期設定

まずは、アプリケーション名を任意の名前に変更しておきましょう。
Laravelのアプリケーション名はexample-app/.envファイルで設定します。
Laravelをインストールした直後の名前はLaravelになっています。
.envファイルを下記のように変更してください。
```
APP_NAME="アプリケーション名"
APP_ENV=local
# --- 以下省略 ---
```
:::note warn
ちなみに、日本語にする場合や半角スペースを入れたい場合は"(ダブルクオーテーション)で囲みます。
:::

次に、時間設定と言語設定を日本語に変更します。
これらの設定はexample-app/config/app.phpで設定されているので、app.phpを下記の通り変更してください。
 ```
 // 'timezone' => 'UTC'から下記に変更(72行目付近)
'timezone' => 'Asia/Tokyo',

// 'locale' => 'en'から下記に変更(85行目付近)
'locale' => 'ja',

// 'faker_locale' => 'en_US'から下記に変更(111行目付近)
'faker_locale' => 'ja_JP',
 ```

 最後にターミナルで下記2つのコマンドをexample-appディレクトリ上で実行してください。
 これらのコマンドを実行することで、先ほど変更した内容がアプリケーションへ確実に反映されるようになります。
.envファイルやapp.phpなどを変更した場合は、下記コマンドを実行してください。
 ```
 $ ./vendor/bin/sail php artisan cache:clear
$ ./vendor/bin/sail php artisan config:clear
 ```

 以上で初期設定は終わり、Laravelで開発を始める準備ができました。
 
## さいごに
いかがだったでしょうか。

他にもいろいろな記事を書いているのでぜひ読んでいただけたら嬉しいです。