MAMPでローカルDB開発環境(構築編)

<h2>環境構築の流れ</h2>

<p>後で説明しますが、LaravelをインストールするときはComposerというソフトを使用します。MAMP環境内でダウンロードを行う際、MAMPのPHPのバージョンを確認して、使用できるクラスなどを準備します。<br>
なので、本項で作成したLaravelを、他の環境に移動して使用しようとするとPHPのバージョンの違いで動かないことがあります。<br>
そう言った場合は、移動した先の環境下でcomposerの調整を行う必要が出てきますのでご注意ください。</p>

<h2>LaravelのダウンロードとMAMPへ接続</h2>
<p>まず、本カリキュラムではLaravelをインストールする際に、「Composer」というPHPのライブラリ依存性管理ソフトを使用するため、まずこちらをダウンロードします。</p>

<h4>Composer(Laravelのパッケージ管理ソフト)のダウンロード</h4>

<h5>Composer</h5>
<p>ダウンロードすることでさまざまな機能を実装することができる「パッケージ」という機能群があります。パッケージを使用することで、制作の高速化を図ることができます。
パッケージにもたくさんの種類があり、それらは「ライブラリ」と呼ばれる一つのまとまりになっています。また、そのライブラリも色々なメーカーや、種類ごとにまとまっていて様々なものが存在します。<br>
例えば「便利そうなライブラリAを使用したい」という場面で、使い方を調べてみると「ライブラリAを使うにはライブラリBが必要であることが分かった…そしてライブラリBを使うには、Cが必要で…」というような、実装に手間がかかることがあります。<br>
Composerを使用すると、「composer require ライブラリA」と入力するだけで、依存関係を考慮して必要なものをダウンロードしてくれます。<br>
このように、ある一つのライブラリが必要な環境に、他のライブラリが必要になる場面で「他パッケージとの依存性」を「管理」して、必要なデータを選んでダウンロードを行なってくれます。</p>


<h5>ダウンロード手順</h5>
<p>では実際にComposerをインストールしましょう。<br>
    ターミナルで、以下のコマンドを入力してください。<br>
</p><pre class="prism undefined-numbers lang-plane"><code>curl -sS https://getcomposer.org/installer | php</code>
</pre>
使用環境のPHPバージョン確認が行われ、適正なバージョンのComposer（composer.phar）がダウンロードされます。<br>
<p>次に、どの階層でもcomposerコマンドが使用できるように、パスを通します。mvコマンドを使用してこのファイルを移動して下さい。<br>
</p><pre class="prism undefined-numbers lang-plane"><code>sudo mv composer.phar /usr/local/bin/composer</code>
</pre>
これでComposerのダウンロードとパスの設定は完了です。<p></p>
<p>試しに、コマンドが使用できるか試してみましょう。<br>
以下のコマンドを入力して、Composerのバージョン確認をしてみて下さい。
</p><pre class="prism undefined-numbers lang-plane"><code>composer -V</code>
</pre>
コマンド処理結果
<pre class="prism undefined-numbers lang-plane"><code>Composer version 2.0.9 2021-01-27 16:09:27</code>
</pre>
Composerのバージョンが表示されればインストール完了です。<p></p>


<h5>Laravelのダウンロード</h5>

<p>では、Laravelをダウンロードしましょう。<br>
始めにLaravelをダウンロードするディレクトリに移動します。下記のコマンドでMAMPの開発環境「/htdocs」に移動して下さい。</p>
<p>ターミナルで以下のコマンドを実行してください。<br>
</p><pre class="prism undefined-numbers lang-plane"><code>cd /Applications/MAMP/htdocs/</code>
</pre>
<p>MAMP環境に移動したら、Laravel_CRUDというファイルを作成して、その中にLaravelをダウンロードしましょう。下記のコマンドでフォルダを作成、Laravel_CRUDフォルダ内に移動します。</p>
<pre class="prism undefined-numbers lang-plane"><code>mkdir Laravel_CRUD &amp;&amp; cd Laravel_CRUD</code>
</pre>
<p>フォルダに移動できたら、以下のコマンドでComposerを使用しLaravelをダウンロードします。</p>
<pre class="prism undefined-numbers lang-plane"><code>composer create-project laravel/laravel=5.5 Laravel</code>
</pre>
<p>以上でダウンロード手順は終了です。</p>


<h5>ダウンロードしたものを確認してみましょう</h5>

<p>ターミナルだけで作業をしていたので、フォルダ内階層がどうなっている一度確認しましょう。FinderでMAMPの「/htdocs」フォルダ内を見てどのような構造になっているか確認してみてください。</p>
<p>Finderから「アプリケーション/MAMP/htdocs/」を開いて頂き、「Laravel_CRUDフォルダ」が作成されていて、中にLaravelフォルダが入っていれば大丈夫です。</p>


<h4>LaravelをMAMPのデータベースに接続する</h4>

<h5>データベースの作成</h5>

<p>まず、MAMPのデータベースに今回Laravelで使用するデータベースを作成します。MAMPの「WEBスタートページ」(MAMPを起動した状態で、ブラウザで「http://localhost:8888/MAMP/」)を開き、ヘッダーメニューから「TOOLS/PHPMYADMIN」を選択して下さい。</p>
<figure class="wp-block-image size-large">
    <img src="https://dawn-phase2-dev.s3-ap-northeast-1.amazonaws.com/curriculum/uploads/2020/06/20210212_L6_11_1_curriculum_img.png" alt="PHPMYADMINトップページ" class="">
</figure>
<p>すると、このようなページが開きます。</p>
<figure class="wp-block-image size-large">
    <img src="https://dawn-phase2-dev.s3-ap-northeast-1.amazonaws.com/curriculum/uploads/2020/06/20210212_L6_11_2_curriculum_img.png" alt="PHPMyAdminページ" class="">
</figure>
<p>このページでは、MAMP環境内のデータベースをGUIで表示したページで、クリック操作で「データベース作成」や「テーブルの確認」などを行ったり、SQL文を入力して「レコードの作成」などを行うことができます。<br>
ただ、テーブル作成、レコードの挿入はLaravelからコマンド入力で行うことができるので、今回は「データベース作成」のみをこの画面から行います。</p>
<p>PHPMyAdminで以下の操作をしてください。</p>
<p>タブメニューの「データベース」を選んでください。</p>
<figure class="wp-block-image size-large">
    <img src="https://dawn-phase2-dev.s3-ap-northeast-1.amazonaws.com/curriculum/uploads/2020/06/20210212_L6_11_3_curriculum_img.png" alt="タブメニューのデータベースをクリック" class="">
</figure>
<p>すると、データベースを作成する画面に切り替わります。</p>
<p>続けて、作成するデータベースの名前を入力します。今回は「Laravel_CRUD」というデータベースを作成し、Laravelでこのデータベースに接続しましょう。<br>
「作成」をクリックすればデータベースが作成されます。</p>
<p>以上でデータベース作成完了です。</p>

<h5>.envファイルの編集</h5>
<p>次にLaravelでMAMPのデータベースに接続する設定を行います。<br>
「.env」という、接続設定を行うファイルがあるのですが、「.」で始まるこのファイルは「隠しファイル」といい、アプリケーションの動作に関連する重要なファイル群のひとつです。<br>
「隠しファイル」という名の通り、OSの初期搭載ソフトでは設定などを変更することなく、表示されないようになっています。</p>
<p>ショートカットコマンドで表示することができるので、入力してみましょう。</p>
<p>Finderでファイルを開いた状態で「command + shift + .(ドット)」を入力して下さい。<br>すると全ての階層で、半透明の「隠しファイル」が表示されるようになります。
先にも述べましたが、隠しファイルは重要なファイルなので、不必要に消したり、編集しない様に注意してください。</p>
<p>続けて、「.env」ファイルを開きましょう。<br>
Finderで「アプリケーション/MAMP/htdocs/Laravel」を開いて下さい。</p>
<div class="wp-block-media-text alignwide">
    <figure class="wp-block-media-text__media">
        <img src="https://dawn-phase2-dev.s3-ap-northeast-1.amazonaws.com/curriculum/uploads/2020/06/20210212_L6_11_4_curriculum_img.png" alt="「.env」ファイル" class="">
    </figure>
<!-- 吹き出し -->
    <div class="wp-block-media-text__content">
        <p class="has-normal-font-size">半透明のデータ「隠しファイル」の中に「.env」というファイルを確認できましたか？
        </p>
    </div>
</div>
<p>今回編集するこの「.env」ファイルも「隠しファイル」で、中にはLaravelとデータベースを接続に関する設定が記載されています。</p>
<p>では、このファイルを編集していきましょう。</p>
<p>設定に関する記述が並んでいますが、記述の一部を、MAMPのデータベースに接続するように変更します。</p>

<div class="wp-block-media-text alignwide">
    <figure class="wp-block-media-text__media">
        <img src="https://dawn-phase2-dev.s3-ap-northeast-1.amazonaws.com/curriculum/uploads/2020/06/20210212_L6_11_5_curriculum_img.png" alt="MAMPのMySQL情報" class="">
    </figure>
<!-- 吹き出し -->
    <div class="wp-block-media-text__content">
        <p class="has-normal-font-size">書き換える内容は、MAMPの「WEBスタートページ」(MAMPを起動した状態で「http://localhost:8888/MAMP/」をご確認下さい)に記載のMySQL箇所に合わせます。</p>
    </div>
</div>
<p>
DB_CONNECTION=mysql<br>
DB_HOST=127.0.0.1<br>
DB_PORT=3306<br>
DB_DATABASE=homestead<br>
DB_USERNAME=homestead<br>
DB_PASSWORD=secret<br>
</p>
<p>上記箇所をMAMPのWEBスタートページのMySQL情報に記載されている内容に修正してください。</p>
<p>
DB_CONNECTION=mysql<br>
DB_HOST=127.0.0.1<br>
DB_PORT=8889<br>
DB_DATABASE=Laravel_CRUD<br>
DB_USERNAME=root<br>
DB_PASSWORD=root<br>
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock<br>
</p>
<p>・ご自身のMAMPのMySQL情報と同じ内容になっているか確認してください。</p>
<p>「DB_DATABASE」は、PHPMyAdminで作成したデータベース名にします。</p>
<p>これでLaravelのデータベースの設定は完了しました。</p>

<p>以上でMAMPでLaravel環境構築のセットアップは完了になります。お疲れ様でした。<br>
ここからは、元のカリキュラムに戻って作業を進めて頂きますが、一部コマンド入力の階層が、元のカリキュラムと異なる箇所があるので、次のMAMPでLaravel環境構築(確認方法)のページもご確認下さい。</p>

<h2>まとめ</h2>
<ul>
    <li>LaravelのダウンロードとMAMPへ接続</li>
    <li>Composer(Laravelのパッケージ管理ソフト)のダウンロード</li>
    <li>Laravelのダウンロード</li>
    <li>LaravelからMAMPのデータベースへ接続する</li>
</ul>