皆さん、こんにちは。暇なときにGoの勉強をしているt-odaです。

今回はLaravel5.1の初級者チュートリアルを複数回に分けて解説できればと思います。

公式にも書いてある通り、Laravelフレームワークや一般的なPHPフレームワークに全く触れたことのない初心者の方が対象の、とてもシンプルなチュートリアルとなっております。Laravelの基本ですので、そこまで難しくないと思います。

それでは実際に取り掛かる前に、全体と今回の目標をお伝えします。

全体の目標は、Laravelの基本の機能でToDoリストを構築することです。 そして、今回の目標はLaravelのインストールと環境設定とデータベースの準備です。また、以下の環境で開発を進めていきます。

  • PHP:5.6
  • PostgreSQL:9.3
  • ターミナル:GitBash
  • 作業ディレクトリ:~/todolist(~はホームディレクトリです。)

あと、コンポーサーというPHPのパッケージ管理ツールがあれば便利です。

インストール

まずインストールですが、composerコマンドを使用します。ただし、このチュートリアルのソースコードはGitHubで公開されているので、もし行き詰ったりコンポーサーをインストールしていない場合はそちらのコードを利用してください。

では、ホームディレクトリで次のコマンドを実行します。

$ composer create-project laravel/laravel todolist 5.1 --prefer-dist

todolistってディレクトリにLaravelのバージョン5.1でインストールお願いしますってことですね。todolistがない場合は勝手に作成してインストールしてくれます。これで、指定のディレクトリにlaravel5.1がインストールさていると思います。todolistディレクトリへいき、ターミナルで次のコマンドを実行してエラーがなければOKです。

$ php artisan

エラーがなければ、Laravelのバージョンやartisanコマンドの説明文が表示されるはずです。これでインストールは完了です。

環境設定

Laravelがインストールされれば、まずやることは環境の設定ですね。 .envファイルを次のように編集しましょう。

これで、環境は整いました。次はデータベースの準備です。

データベースの準備

データベースの準備ですが、ローカルでtutorialというデータベースを作成してください。次にこのチュートリアルで必要なテーブルを確認します。今回は、ひとつですね。

  • tasks

tasksはToDoリストに関する情報を持ちます。デフォルトでusersとpassword_resetのマイグレーションファイルがありますが、今回のチュートリアルでは使いません。中級者向けのチュートリアルではちゃんと使います。(このチュートリアルが終われば中級者向けのチュートリアルも記事にします。)

さて、テーブルを作成するためにマイグレーションファイルを作成します。マイグレーションファイルはテーブルの作成や変更の内容を管理するファイルになります。次のコマンドでひな形のファイルが一瞬で出来上がります。配置されるディレクトリはdatabase/migrations/の直下になります。

$ php artisan make:migration create_tasks_table --create=tasks

ただ、Laravelでは基本的にひとつのテーブルにひとつのモデルが紐づきます。(laravelは厳密なMVCではないのでモデルと呼んでいいのかわかりませんが、一般的にはモデルに相当するのでそう呼ぶことにします。) ですので、モデルファイルとマイグレーションファイルを同時に作成しましょう。次のコマンドで同時に作成されます。モデルファイルはapp直下に配置されます。また、オプションを-mにしても実行されます。

$ php artisan make:model Task --migration

それと、makeコマンドは色んな種類のひな型ファイルを生成してくれるコマンドです。一度、どんな種類のファイルを生成できるのか確認しておくと良いと思います。

次に、tasksテーブル構造を記述していきます。マイグレーションファイルは「生成時間_create_テーブル名_table.php」というファイル名になります。ちなみに、usersテーブルはデフォルトのまま使用します。

記述できれば、あとはmigrateコマンドでテーブルを作成します。 次のコマンドを実行しましょう。

$ php artisan migrate

これはマイグレーションファイルのrunメソッドを実行します。このコマンドの対象ファイルは、"実行されていない"マイグレーションファイルになります。

成功するとDBにテーブルが3つ作成されていると思います。 さぁ、これで準備は整いました。 次回は、モデルとルーティングについて紹介します。

それでは、このへんで。ありがとうございました。