IT技術

【Laravel入門】LaravelでWebアプリケーションを作り始めるまでの流れをまとめる

「チュートリアルサイトを使って勉強をしたからWebアプリケーションが作れます!!」

初めてフレームワークというものに触れて、チュートリアルサイトを一通り終わった方でこのように自信を持って言える人はいないと思います。

おそらくチュートリアルを一通りこなすと、なんとなくこういうことができるんだなーって思う程度になると思います。私はそうでした。
いざ自分で何か作り始めようと思っても、一体何から始めたらいいかわかりません。

そのため今回は、チュートリアルを一通り終わった後、実際にWebアプリケーションを作り始めたので、改めてLaravelを使ったWebアプリケーションの作り方、その基本的な流れをお話していきます。

チュートリアルを一通り終わらせたという前提で書いております。

プロジェクトを作る

まずはコマンドからプロジェクトを作ります。

composer create-project --prefer-dist laravel/laravel 5.6 プロジェクト名

 

チュートリアルで使ったのと同じLaravel5.6を使います。
プロジェクト名は好きなように名付けて大丈夫です。

コントローラを作る

プロジェクトを作ったら、そのプロジェクトフォルダの中へと移動し、コントローラを作ります。

 

cd プロジェクト名
php artisan make:controller コントローラ名

 

このコントローラ名は頭文字が大文字で複数形、後ろにコントローラと書くようにするのが一般的のようです。

<例>
PostsController
UsersController

また、このときresourceオプションをつけることで、よく使うメソッド(indexやcreate)が標準で作られ、それぞれに名前付きルートも記述されます。

 

php artisan make:controller コントローラ名 --resource

 

このresourceオプションによって作成されたindexやcreateなどへのルートは、ルーティングにこの1行を書くだけでそのまま使えます。

 

Route::resource('名前','コントローラ名');

 

この「名前」とはコントローラ名の名前です。

PostsControllerだったらposts、UsersControllerだったらusersです。

データベースの準備

Webアプリケーションを作る際に必須となってくるデータベースの準備をします。

データベース自体は予め作っておく必要があります。

.envファイルにデータベースの基本情報を書き込みます。

DB_DATABASE
DB_USERNAME
DB_PASSWORD

ローカル環境でしたらこの3項目のみで大丈夫です。
予め作っておいたデータベース名、ユーザ名、パスワードを書き込んでおきます。

.envファイルにデータベースの基本的な情報を書き込んだら、コマンドでマイグレーションファイルを作成します。

 

php artisan make:migration create_テーブル名_table

 

また、このときテーブル名は複数形で書きましょう。

<例>

php artisan make:migration create_posts_table

 

このコマンドを実行することでマイグレーションファイルが作成されます。
あとはこのマイグレーションファイルに作りたいカラムの情報を書き込みます。

例えば文字列でcomment、整数でnumberというカラムを作成したい場合は、

$table->string('comment');
$table->integer('number');

 

とマイグレーションファイルに記述します。
そしてマイグレーションを実行することで記述したカラムが含まれたテーブルが指定したテーブル名で作成されます。
マイグレーションはこのコマンドで実行できます。

 

php artisan migrate

 

後からカラムを増やしたい場合、チュートリアルでは別途追加用のマイグレーションファイルを作って記述するようなことが書かれてましたが、マイグレーションを取り消して、マイグレーションファイルを直接修正する方が圧倒的に楽でした。
マイグレーションの取り消しは、

 

php artisan migrate:rollback

 

でできます。
これを実行すると、テーブルの中身が全部消えます。
そしてマイグレーションファイルを修正して、改めてマイグレーションを実行すると、修正後の通りにテーブルが作成されます。

モデルを作る

次にモデルを作成します。
このモデルに記述した情報を元にデータベースを操作したり、変数を定義しておいて他で使ったりとできます。

モデルの作成もコマンドで行います。

 

php artisan make:model モデル名

 

このモデル名は頭文字が大文字の単数形で書きます。
また、テーブル名と対応させるのが一般的(必須?)です。

<例>
postsテーブルのモデル名=Post
usersテーブルのモデル名=User

この作成モデルで変数を定義しておくと、コントローラで呼び出すことができます。

 

モデル名::$変数名

 

コントローラで呼び出すことができると、それをビューへと渡すことができるので、実質どこでも使うことができるということです。
何度も使うような変数はモデルに書いておくと後々便利そうです。

余談ですが、configフォルダにtest.phpというファイルを作り、そこに変数を定義して、それをreturnすることで、コントローラから呼び出すこともできます。

 

$tests = config('test');

 

これもまたビューに渡すことができるので、覚えておくと何かの役に立つかも知れません。

最後に

LaravelでWebアプリケーションを作り始めるまでの流れについてお話してきました。

ここまで全部チュートリアルに書いてあることですが、説明に沿ってコードを書いていくのと、自分で1から作るのとは全くの別物です。
チュートリアルは言わば物語のあらすじのようなものです。
だいたいこういうことができるんだなーと知った上でそれぞれについて勉強をしましょうと捉えるといいんじゃないかと感じてます。

チュートリアルが終わったらそこがスタートなので、一緒に頑張っていきましょう!

独学で勉強するのがつらいと感じてませんか?

わからない部分があるとき、誰かに質問ができると効率よく勉強を進めることができるようになります。

TechAcademyであれば、1週間無料でプログラミングスクールの体験をオンラインで受けることが可能です。

この期間に詰まっている部分の質問をするのもいいですし、プログラミングスクールの雰囲気を体験するのもいい刺激になるので、とりあえず試してみるのもありかなと思います。

>> TechAcademyの無料体験はこちら

どこからでも開発できる環境を作りませんか?

ConoHa VPSを使えば、クラウド上に自分だけの開発環境を構築することができます!

ConoHa VPSのメリット
  • 1回環境を作ればマシン毎に作り直す必要がなくなる
  • 開発途中のコードを外出先からでも簡単にいじることができる
  • 従量課金制で使うこともできる
  • 従量課金制で使った場合でも上限を超えることはない
定額プランでも月額620円から使うことができるので、コスパ最強!
\今なら初期費用無料/

ConoHa VPS公式ページ >>