こんにちは!
個人開発者の南です!
Laravelを使っている時に、よくController,Migration,Modelの作成の作り方の流れをよく忘れるので、メモとして残しておきます。
Laravelを普段から使っている人には、当たり前のことなのですが。。。
まだ使い慣れていないといちいち調べるのがめんどくさいので、1ページにまとめて置こうと思って記事にすることにしました。
使っている環境について
使用している環境は、LaradocというDocker上でLaravelを動かすために必要なものが一通り入っているものを使います。
Dockerとは、WindowsやMac,Linuxどのマシンを使っていても、Docker上であれば同じ環境が用意できるというもの。
興味がある方は、下記の記事にDockerについてまとめて置いたので参考にしてみて頂ければと思います!
Laravelのインストール
まずは、Laravelをインストールしていきます。
ここでは、次の流れで行います。
・Laradoc環境の立ち上げ
・ワークスペースにSSH
・Laravelのインストール
Laradoc環境の立ち上げ
まずは、Laradoc環境の立ち上げを行っていきます。
ターミナルやCMDなどで、まずはLaradocのフォルダがある場所まで移動します。
Laradocのフォルダまで移動ができたら、下記のコマンドを入力しましょう。
1 |
docker-compose up -d nginx mysql workspace phpmyadmin |
すると下記のように色々と表示されます。
ちなみに、Laradoc自体を止める場合は下記のコマンドを入力します。
1 |
docker-compose stop |
ワークスペースにSSH
Laradocを立ち上げたら、今度はLaradocにSSH接続をしましょう。
SSH接続とは、ターミナル上でサーバーにアクセスして、ターミナル上でサーバーのフォルダやファイルなどを色々いじる時に使用する接続になります。
LaradocにSSHをする場合は、下記のコマンドを入力します。
1 |
docker-compose exec workspace bash |
うまくSSH接続ができると、下記画像のように「root@」といった表示になると思います。
ちなみに、SSH接続を解除する場合は、下記のコマンドを入力しましょう。
1 |
exit |
入力することで、下記のように自分の「Laradoc」のフォルダに戻ってくることができます。
Laravelのインストール
LaradocにSSH接続をした状態まで、これたら今度はLaravelをインストールします。
今回は、Laravel5.7をインストールしますので、下記のコマンドを入力します。
コマンドを入力する場所は、SSH接続したあとの場所のままで大丈夫です。
また、今回入力するコマンドはcomposerというPHPのパッケージ管理システムが入っている必要があります。
Laradocを使っている場合は、既にcomposerが入っていると思いますが、他の環境を使っている場合は導入しておくようにしましょう。
1 |
composer create-project laravel/laravel プロジェクト名 --prefer-dist "5.7.*" |
入力すると下記のように、色々表示されます。
ちなみに、上記のコマンドの中にある「プロジェクト名」のところに、作成したいフォルダ名を入力します。
例えば、僕は下記のように入力しました。
1 |
composer create-project laravel/laravel laravel_process --prefer-dist "5.7.*" |
入力することで、ディレクトリ上では下記のように表示されます。
ちなみに、入力すると下記のように表示されますが、これはcomposerをroot権限で実行しないでくださいというようなエラーになります。
これはこれで、別で対処する必要がありそうですが、一旦無視で大丈夫かと思います。。。
「Do not run Composer as root/super user! See https://getcomposer.org/root for details」
また、今回使うバージョンはLaravelの5.7を使うので、コマンドの最後に「–prefer-dist “5.7.*”」と付け加えています。
別のバージョンを使いたい場合は、別のバージョンを指定するようにしましょう。
URLの設定
インストールができたら、今度はURLの設定を行っていきます。
単純にディレクトリで分けれますが、できれば下記のようにURLで分けたほうが分かりやすいかなと思うので、URLで分けれるように設定を行っていきます。
URLで分けるには、ローカル内のLaradocの中にある、nginxの設定ファイルをコピーします。
nginxの中にある「default.conf」というファイルをコピーして、「app.プロジェクト名.conf」という名前に書き換えます。
僕は、「app.laravel-process.conf」という名前に書き換えました。
名前を書き換えたら、「default.conf」を「default.conf.bak」というファイルに書き換えます。
書き換えができたら、今度は「app.laravel-process.conf」のファイルを開いて「server_name」と「root」の2点を変更します。
おそらく、デフォルトのままだと下記のように表示されていると思います。
1 2 |
server_name localhost; root /var/www/public; |
それを下記のように書き換えます。
1 2 3 4 5 |
#URLで表示したいドメイン名 server_name laravel-process.test; #実際に使用するプロジェクトのディレクトリ。 root /var/www/laravel_process/public; |
confファイルを書き換えたら、「server_name」で追加した、ドメインを自分のローカルホストの「hosts」ファイルに反映しましょう。
「hosts」ファイルは、Macだと下記のディレクトリ内にあります。
「/private/etc/」
ファイルを開いたら、下記のように「server_name」で追加したドメインを「hosts」ファイルに追加します。
1 |
127.0.0.1 laravel-process.test |
最後に、hostsファイルを書き換えたらターミナル上のSSHを抜けて、先程変更した設定を反映します。
設定を反映する場合は、一度Laradocを停止して、下記のコマンドで立ち上げます。
1 |
docker-compose up -d nginx mysql workspace phpmyadmin |
ちなみにLaradocを停止するには、下記のコマンドを入力します。
1 |
docker-compose stop |
もう一度立ち上げたら、設定したURLにアクセスしてみましょう。
Laravelの文字が表示されているはずです。
MySQLの設定
URLの書き換えが終わったら、次はデータベースの設定を行っておきます。
データベースの設定は、作成したLravelのファルダの中にある「.env」ファイルを開きます。
「.env」ファイルを開いたら、データベースの設定に関する項目を書き換えます。
データベースの項目は、下記になります。
1 2 3 4 5 6 |
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret |
デフォルトだと上記のようになっていると思います。
それを下記のように書き換えます。
1 2 3 4 5 6 |
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=test_db#使用したいテーブル名を指定します。 DB_USERNAME=root DB_PASSWORD=root |
これでMySQLの設定は完了です。
Controllerの作成
設定が終わったところで、いよいよControllerを作成していきます。
Controllerを作成するには、下記のコマンドを入力します。
1 |
php artisan make:controller 作成したいcontroller名 |
今回はテストなので、下記のようにコントローラーを作成します。
1 |
php artisan make:controller TestController |
コマンドを実行する場所は、アプリのトップディレクトリ内で作成するにようにしましょう。
僕の場合は、「laravel_process」というアプリを作成したので、「laravel_process」のトップディレクトリで行います。
コントローラーが無事作成されると、下記のように表示されます。
これでコントローラーの作成は完了です。
ModelとMigrationの作成
コントローラーが作成できたところで、次はModelとMigrationファイルの作成を行います。
Migrationファイルとは、データベースの構造などがコード化されたファイルのことになります。
ModelとMigrationを作る場合は、下記のコマンドを実行します。
1 |
php artisan make:model 作成したいファイル名 --migration |
今回はテストなので、下記のコマンドを実行しました。
1 |
php artisan make:model Tests--migration |
すると、下記の2つのファイルが作成されます。
・Test.php
・2019_04_30_075951_create_tests_table.php
まとめ
今回は、Laradocの立ち上げから実際にLaravelのコントローラーやモデルなどの作成の一連の流れについて紹介しました。
今回の記事が少しでもあなたの役に足れば幸いです。